.net 如何使用DataGridView的CellEnter和CellLeave事件?
我需要在牢房进出时处理一些事情。但是,我发现,在单元格没有实际进入或单击鼠标的情况下,会触发这些命令。例如,当我更改数据源时,他们似乎被解雇了。我以以下方式重写了OnDataSourceChanged事件:.net 如何使用DataGridView的CellEnter和CellLeave事件?,.net,winforms,events,datagridview,.net,Winforms,Events,Datagridview,我需要在牢房进出时处理一些事情。但是,我发现,在单元格没有实际进入或单击鼠标的情况下,会触发这些命令。例如,当我更改数据源时,他们似乎被解雇了。我以以下方式重写了OnDataSourceChanged事件: protected override void OnDataSourceChanged(EventArgs e) { _isBinding = true; base.OnDataSoruceChanged(e); _isBinding = false; } 然后,我在CellE
protected override void OnDataSourceChanged(EventArgs e)
{
_isBinding = true;
base.OnDataSoruceChanged(e);
_isBinding = false;
}
然后,我在CellEnter事件中使用_isBinding标志来绕过我的逻辑。然而,随后我看到OnBindingContextChanged事件也触发了这些事件。我也可以覆盖此事件,但它何时结束?可能还有其他调用CellEnter/CellLeave事件的事件我还没有测试过。有更好的方法吗?您对CellValueChanged事件感兴趣吗?无法从您的问题中理解我正在尝试实现撤消/重做,在进行任何编辑之前,我需要将我的业务对象推送到撤消/重做堆栈中。离开单元格后,我需要将更改的业务对象推送到撤消/重做堆栈上。您是否尝试使用DataGridView.CellBeginEdit事件?我很同情,这就像在追逐一条永无止境的路径