【发布时间】:2018-04-05 03:11:21
【问题描述】:
我有一个“奇怪”的情况。 我有一个带有绑定源和绑定导航器的表单。 在本例中,我有 161 条记录(通过 EF6)要显示。 控件的数据绑定工作得很好。 但我发现绑定导航器的预期事件不会始终如一地发生。然后他们安定下来。
我有事件处理程序(除了默认事件处理程序,但当我删除默认事件处理程序时也会发生同样的事情)
我将绑定源设置为导航器,并引发“位置更改”事件(如我所料)
单击任何“移动”按钮或编辑位置字段将导致: 大约 4 次中有 3 次没有引发事件(不是项目单击事件,不是绑定源位置更改)。 然后事件引发,所有预期的导航都会发生,然后重复。
但它似乎不是永久性的,因为过了一段时间几乎所有的记录都有导航都开始正常工作。 无论是否连接调试器,都会发生这种情况。
我注意到的另一件事是,当它失败时,任务栏中的图标会闪烁一次。
它在我的任何处理程序代码中都没有,因为它永远不会进入我的代码。 它可能是一个属性设置。 这不是异常,因为即使使用“所有异常中断”,也不会报告异常。
【问题讨论】:
-
请提供MCVE。目前,尚不清楚该问题是否与 Windows 窗体有关。
-
@defaultlocale 等我旅行回来后,我会努力解决这个问题。但它是一个winforms 内置控件。我使用 ILSpy 创建了一个项目内副本,因此我可以逐步完成它,而且它甚至没有触发 ToolStripButton 点击事件,所以它可能是消息泵/焦点/激活驱动的。
标签: winforms data-binding bindingsource bindingnavigator