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

此代码有效,但如果 ColumnHeaders(不仅是单元格)是 doubleClicked 也有效?
我只想在双击单元格时运行它。
CellDoubleClick 应该是指 CellDoubleClick 而不是 HeaderDoubleClick。

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

您可以检查是否e.RowIndex为 -1,这意味着事件发生在标题行上。

于 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 回答