10
private void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
foreach (DataGridViewRow r in dgv.Rows) r.Visible = false;
}

このコードは機能しますが、ColumnHeaders (セルだけでなく) が doubleClicked の場合にも機能しますか?
セルがダブルクリックされた場合にのみ実行したい。
CellDoubleClick は、HeaderDoubleClick ではなく、CellDoubleClick を意味する必要があります。

4

4 に答える 4

23
private void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {
            if (e.RowIndex != -1) {
                //do work
            }
        }
于 2012-07-02T12:13:23.843 に答える
3

-1かどうかを確認できますe.RowIndex。これは、イベントがヘッダー行で発生したことを意味します。

于 2012-07-02T12:12:18.177 に答える
2

DataGridViewCellEventArgs.RowIndexヘッダーがクリックされたかどうか、または行のセルがクリックされたかどうかを確認するために使用できます。

于 2012-07-02T12:10:31.243 に答える
1

最もクリーンな方法ではありませんが、このように達成できます

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    if (((System.Windows.Forms.DataGridView)(sender)).CurrentCell != null)
    {
       //Do what you want here................
    }
}
于 2012-07-02T12:16:43.993 に答える