CellMouseDoubleClick在DataGridView c#

时间:2017-03-26 22:44:53

标签: c# winforms datagridview

我在c#中有WinForms应用程序。

我想在动态创建的DataGridView上添加事件。 双击时我要添加的操作是删除单击的行。

问题是事件会多次触发,因为每一行的索引都高于点击的那一行。

例如,我的DataGridView中有5个项目,我点击第二个项目。 该事件触发4次并删除第2,第3,第4和第5个元素。

如果我点击最后一个,它可以正常工作(因为他是更高的索引)。

任何想法......

1 个答案:

答案 0 :(得分:0)

这是一个例子,我留下了一些空间,以便在需要的时候删除一天多个选定的行

 if (e.Button == MouseButtons.Left)
    {
        var hti = dataGridView1.HitTest(e.X, e.Y);
        if (hti.RowIndex != -1)
        {
            dataGridView1.ClearSelection();
            dataGridView1.Rows[hti.RowIndex].Selected = true;
        }
    }

    foreach (DataGridViewRow row in DataGridView1.SelectedRows)
    {
        DataGridView1.Rows.Remove(row);
    }