今天我偶然发现了来自LostFocus
的{{1}}事件的问题。大多数客户没有任何问题,但其中一小部分报告了意外行为。经过一些研究后,我发现没有问题的客户用鼠标点击“确定”按钮,而其他客户端在键盘上按下TextBox
。 “确定”按钮是表单上的默认按钮,因此按Enter
应该可以正常工作。问题是按下Enter
不会在焦点上触发TextBox上的Enter
事件。
经过一些谷歌搜索后,很明显这是默认按钮的预期行为。焦点永远不会丢失LostFocus
,TextBox
CommandButton
事件背后的代码正在运行而不会被点击。
如何在使用默认按钮时触发Click
事件?
答案 0 :(得分:1)
一个对我有用的简单黑客是每当发出LostFocus
事件时将焦点设置为“Ok”按钮。这样,当前控件自动运行其Click
事件。设置焦点后,不要忘记多放LostFocus
。否则,DoEvents
事件将在您的其他代码执行后触发。
LostFocus