Control.GotFocus 事件

定义

在控件接收焦点时发生。

public:
 event EventHandler ^ GotFocus;
[System.ComponentModel.Browsable(false)]
public event EventHandler GotFocus;
[System.ComponentModel.Browsable(false)]
public event EventHandler? GotFocus;
[<System.ComponentModel.Browsable(false)>]
member this.GotFocus : EventHandler 
Public Custom Event GotFocus As EventHandler 

事件类型

属性

示例

下面的代码示例演示了此成员的用法。 在此示例中,事件处理程序报告事件的发生情况 GotFocus 。 此报告可帮助你了解事件发生的时间,并可以帮助你进行调试。

若要运行示例代码,请将其粘贴到包含继承自 Control的类型的实例(如 ButtonComboBox)的项目中。 然后命名实例 Control1 并确保事件处理程序与事件 GotFocus 相关联。

private void Control1_GotFocus(Object sender, EventArgs e) {

   MessageBox.Show("You are in the Control.GotFocus event.");
}
Private Sub Control1_GotFocus(sender as Object, e as EventArgs) _ 
     Handles Control1.GotFocus

Console.WriteLine("You are in the Control.GotFocus event.")

End Sub

注解

通过使用键盘 (TAB、SHIFT+TAB 等) 、调用 SelectSelectNextControl 方法或将 属性设置为 ContainerControl.ActiveControl 当前窗体来更改焦点时,焦点事件按以下顺序发生:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

使用鼠标或调用 Focus 方法更改焦点时,焦点事件将按以下顺序发生:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

如果 属性 CausesValidation 设置为 falseValidating 则会取消 和 Validated 事件。

注意GotFocusLostFocus 事件是低级别焦点事件,与WM_KILLFOCUS和WM_SETFOCUS Windows 消息相关联。 通常, GotFocusLostFocus 事件仅在更新 UICues 或编写自定义控件时使用。 Enter应将 和 Leave 事件用于除 类以外的Form所有控件,该类使用 ActivatedDeactivate 事件。 有关 和 LostFocus 事件的详细信息GotFocus,请参阅WM_SETFOCUSWM_KILLFOCUS主题。

注意

不要尝试从 、、GotFocusLostFocusLeaveValidatingValidated 事件处理程序中Enter设置焦点。 这样做可能会导致应用程序或操作系统停止响应。 有关详细信息,请参阅 WM_KILLFOCUS 主题。

有关处理事件的详细信息,请参阅 处理和引发事件

适用于

另请参阅