是否可以只让用户选择在DataGridView上触发SelectionChanged事件?

时间:2014-06-09 14:08:26

标签: c# events datagridview selection selectionchanged

当程序更改选择时,会触发SelectionChanged方法。因此,例如,调用dataGridView.ClearSelection()dataGridView.Rows[0].Selected = true会调用方法

private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
}

仅当用户更改了选择时才可以执行代码,例如用鼠标或键盘选择行/单元格?

1 个答案:

答案 0 :(得分:0)

您必须在

中对此进行编码
private bool _programmaticChange;

private void SomeMethod()
{
    _programmaticChange = true;
    dataGridView.ClearSelection();
    _programmaticChange = false;
}


private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
    if (_programmaticChange) return;
    // some code
}

这将使其仅在用户操作上运行