我需要在细胞进入和细胞离开期间处理一些事情。但是,我发现这些是在没有输入单元格的情况下触发的(选项卡或鼠标单击)。例如,当我更改数据源时,它们似乎被解雇了。我以这种方式重写了OnDataSourceChanged事件:
protected override void OnDataSourceChanged(EventArgs e)
{
_isBinding = true;
base.OnDataSoruceChanged(e);
_isBinding = false;
}
然后,我在CellEnter事件中使用_isBinding标志来绕过我的逻辑。但是,我看到OnBindingContextChanged事件也触发了这些事件。我也可以覆盖这个事件,但什么时候结束?可能有其他事件调用我尚未测试的CellEnter / CellLeave事件。还有更好的方法吗?