Control.GotFocus イベント


コントロールがフォーカスを受け取ると発生します。Occurs when the control receives focus.

 event EventHandler ^ GotFocus;
public event EventHandler GotFocus;
member this.GotFocus : EventHandler 
Public Custom Event GotFocus As EventHandler 



このメンバーの使用例を次のコード例に示します。The following code example demonstrates the use of this member. この例では、イベントハンドラーがイベントの発生を報告し GotFocus ます。In the example, an event handler reports on the occurrence of the GotFocus event. このレポートは、イベントがいつ発生し、デバッグに役立つかを理解するのに役立ちます。This report helps you to learn when the event occurs and can assist you in debugging.

コード例を実行するには、やなど、から継承された型のインスタンスを含むプロジェクトに貼り付け Control Button ComboBox ます。To run the example code, paste it into a project that contains an instance of a type that inherits from Control, such as a Button or ComboBox. 次に、インスタンスにという名前 Control1 を付け、イベントハンドラーがイベントに関連付けられていることを確認し GotFocus ます。Then name the instance Control1 and ensure that the event handler is associated with the GotFocus event.

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


キーボード (タブ、SHIFT + TAB など) を使用してフォーカスを変更した場合、 Select メソッドまたはメソッドを呼び出す SelectNextControl か、プロパティを現在のフォームに設定した場合 ContainerControl.ActiveControl 、フォーカスイベントは次の順序で発生します。When you change the focus by using the keyboard (TAB, SHIFT+TAB, and so on), by calling the Select or SelectNextControl methods, or by setting the ContainerControl.ActiveControl property to the current form, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

マウスを使用するか、メソッドを呼び出すことによってフォーカスを変更すると Focus 、フォーカスイベントは次の順序で発生します。When you change the focus by using the mouse or by calling the Focus method, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

CausesValidationプロパティがに設定されている場合 falseValidating Validated イベントとイベントは抑制されます。If the CausesValidation property is set to false, the Validating and Validated events are suppressed.

メモGotFocusイベントと LostFocus イベントは、WM_KILLFOCUS と WM_SETFOCUS Windows メッセージに関連付けられている下位レベルのフォーカスイベントです。Note The GotFocus and LostFocus events are low-level focus events that are tied to the WM_KILLFOCUS and WM_SETFOCUS Windows messages. 通常、 GotFocus イベントおよび LostFocus イベントは、カスタムコントロールの更新時または書き込み時にのみ使用され UICues ます。Typically, the GotFocus and LostFocus events are only used when updating UICues or when writing custom controls. 代わりに、イベントと Enter Leave イベントを Form 使用するクラスを除くすべてのコントロールで、イベントとイベントを使用する必要があり Activated Deactivate ます。Instead the Enter and Leave events should be used for all controls except the Form class, which uses the Activated and Deactivate events. イベントとイベントの詳細については、 GotFocus LostFocusWM_SETFOCUS 」および「 WM_KILLFOCUS 」のトピックを参照してください。For more information about the GotFocus and LostFocus events, see the WM_SETFOCUS and WM_KILLFOCUS topics.


Enter、、 GotFocus 、、 Leave LostFocus Validating 、またはの各 Validated イベントハンドラー内からフォーカスを設定しないようにしてください。Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers. これにより、アプリケーションまたはオペレーティングシステムが応答を停止する可能性があります。Doing so can cause your application or the operating system to stop responding. 詳細については、 WM_KILLFOCUS のトピックを参照してください。For more information, see the WM_KILLFOCUS topic.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.