我正在覆盖自定义 Winforms 文本框中的 OnValidating 事件。我发现如果文本框(绑定到对象)具有焦点,然后我使用鼠标给网格焦点,则 OnValidating 事件并不总是被触发。当我第一次给网格焦点时,它会被很好地触发。但是,如果将网格的一个单元格置于编辑状态(闪烁光标),从那里开始,当我使用鼠标在文本框和网格之间返回时,它似乎不会被触发。如果我使用 tab 键改变焦点,验证总是被触发。如果我使用鼠标将焦点放在非网格控件上,则验证总是会被触发。
我试图以简单的形式从头开始重新创建此功能,但无法重新创建问题。我在遇到问题的设置中使用的网格是具有自定义列类型的自定义 DataGridView。我想知道网格是否是问题所在。但是,我看不出它会如何影响文本框事件。有任何想法吗?