不能用msgbox进行测试
当通过使用键盘(Tab、Shift+Tab 等)、通过调用 Select 或 SelectNextControl 方法或者通过将 ContainerControl.ActiveControl属性设置为当前窗体等方式更改焦点时,焦点事件按以下顺序发生:
-
LostFocus
当通过使用鼠标或调用 Focus 方法的方式更改焦点时,焦点事件按以下顺序发生:
-
LostFocus
如果 CausesValidation 属性设置为 false,则将取消 Validating 和 Validated 事件。
如果在 Validating 事件委托中,CancelEventArgs 的 Cancel 属性设置为 true,则正常情况下将在 Validating 事件之后发生的所有事件均被取消。
说明: |
---|
GotFocus 和 LostFocus 事件是关联于 WM_KILLFOCUS 和 WM_SETFOCUS Windows 消息的低级别焦点事件。通常,GotFocus 和 LostFocus 事件仅在更新 UICues 或编写自定义控件时使用。而 Enter 和 Leave 事件应该用于除 Form 类(该类使用 Activated 和 Deactivate 事件)之外的所有控件。有关 GotFocus 和 LostFocus 事件的更多信息,请参见位于 http://msdn2.microsoft.com/zh-cn/library/default.aspx. 上的 MSDN Library 中“Platform SDK Documentation”(Platform SDK 文档)的“Keyboard Input Reference”(键盘输入参考)部分中的 WM_SETFOCUS 和 WM_KILLFOCUS 主题。 |
警告: |
---|
请勿尝试从 LostFocus 事件处理程序中设置焦点。这样操作可能导致应用程序或操作系统停止响应。有关 LostFocus 事件的更多信息,请参见位于 http://msdn2.microsoft.com/zh-cn/library/default.aspx. 上的 MSDN Library 中“Platform SDK Documentation”(Platform SDK 文档)的“Keyboard Input Reference”(键盘输入参考)部分中的 WM_KILLFOCUS 和Message Deadlocks 主题。 |