我在c#中有WinForms应用程序。
我想在动态创建的DataGridView上添加事件。 双击时我要添加的操作是删除单击的行。
问题是事件会多次触发,因为每一行的索引都高于点击的那一行。
例如,我的DataGridView中有5个项目,我点击第二个项目。 该事件触发4次并删除第2,第3,第4和第5个元素。
如果我点击最后一个,它可以正常工作(因为他是更高的索引)。
任何想法......
答案 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);
}