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.

コード例を実行するには、ButtonComboBoxなどの Controlから継承する型のインスタンスを含むプロジェクトに貼り付けます。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 プロパティが falseに設定されている場合、Validating および 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. 代わりに、Activated イベントと Deactivate イベントを使用する Form クラスを除くすべてのコントロールに、Enter イベントと Leave イベントを使用する必要があります。Instead the Enter and Leave events should be used for all controls except the Form class, which uses the Activated and Deactivate events. GotFocus イベントと LostFocus イベントの詳細については、 WM_SETFOCUSWM_KILLFOCUSのトピックを参照してください。For more information about the GotFocus and LostFocus events, see the WM_SETFOCUS and WM_KILLFOCUS topics.


EnterGotFocusLeaveLostFocusValidating、または 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.