TextBox.GotFocus イベント (Access)

GotFocus イベントは、指定したオブジェクトがフォーカスを受け取ったときに発生します。

構文

Gotfocus

TextBox オブジェクトを表す変数。

注釈

これらのイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 OnGotFocus プロパティをマクロの名前または [イベント プロシージャ] に設定します。

これらのイベントは、Tab キーを押すかオブジェクトをクリックするなど、ユーザー アクションに応答してフォーカスが移動したとき、または Visual Basic で SetFocus メソッドを使用するとき、またはマクロの SelectObject、GoToRecord、GoToControl、または GoToPage アクションを使用するときに発生します。

コントロールがフォーカスを受け取ることができるのは、そのコントロールの " Visible /可視" プロパティと " Enabled /使用可能" プロパティが [Yes/はい] に設定されている場合だけです。 フォームがフォーカスを受け取ることができるのは、そのフォームにコントロールが配置されていないか、または、すべての可視コントロールが使用不可にされている場合だけです。 可視の使用可能なコントロールがフォームに配置されている場合は、フォームの GotFocus イベントは発生しません。

GotFocus イベントが発生したときに実行されるマクロやイベント プロシージャを使うと、フォームやコントロールがフォーカスを受け取ったときの動作を指定できます。 たとえば、フォームにある各コントロールに GotFocus イベント プロシージャを割り当てると、テキスト ボックスに簡単な指示やメッセージを表示して、アプリケーションの操作方法を示すことができます。 また、フォーカスを得たコントロールに依存するコントロールの使用可能と使用不可を切り替えたり、そのコントロールを表示したりして、次の操作の手掛かりを示すこともできます。

注:

Tab キーを押したときにコントロールからコントロールにフォーカスが移動する順序をカスタマイズするには、タブ オーダーを設定するか、コントロールのアクセス キーを指定します。

The GotFocus event differs from the Enter event in that the GotFocus event occurs every time a control receives the focus. GotFocus イベントは、コントロールがフォーカスを受け取るたびに発生します。 たとえば、フォームのチェック ボックスをオンにしてからレポートをクリックし、再びフォームを前面に表示するためにフォームのチェック ボックスをクリックする場合、 GotFocus イベントは、チェック ボックスが最初にフォーカスを受け取ったときと、最後にフォーカスを受け取ったときに発生します。 これに対して、 Enter イベントが発生するのは、チェック ボックスが最初にクリックされたときだけです。 GotFocus イベントは、 Enter イベントよりも後に発生します。

フォームのコントロールにあるフォーカスを別のコントロールに移動すると、フォーカスを持っていたコントロールに対する Exit イベントと LostFocus イベントが発生した後、移動先のコントロールに対して Enter イベントと GotFocus イベントが発生します。

メイン フォーム上のコントロールにあるフォーカスを、マウスを使ってそのフォームのサブフォーム上のコントロールへ移動すると、次のイベントが発生します。

  • Exit (メイン フォームのコントロールに対して)
  • LostFocus (メイン フォームのコントロールに対して)
  • Enter (サブフォーム コントロールに対して)
  • Exit (サブフォームでフォーカスを持っていたコントロールに対して)
  • LostFocus (サブフォームでフォーカスを持っていたコントロールに対して)
  • Enter (サブフォームのフォーカスの移動先のコントロールに対して)
  • GotFocus (サブフォームのフォーカスの移動先のコントロールに対して)

以前にサブフォームの に移動したコントロールにフォーカスがあった場合、 その Enter イベントも GotFocus イベントも発生しませんが、サブフォーム コントロールの Enter イベントは発生します。 サブフォーム上のコントロールからメイン フォーム上のコントロールにフォーカスを移動した場合、サブフォームのコントロールの Exit イベントと LostFocus イベントは発生しません。サブフォーム コントロールの Exit イベントとメイン フォームのコントロールの Enter イベントと GotFocus イベントのみが発生します。

注:

多くの場合、マウスや Tab などのキーを使用して、フォーカスを別のコントロールに移動します。 この場合、このトピックで述べたイベントの他に、マウス イベントまたはキーボード イベントが発生します。

2 つの開いているフォームを切り替えると、最初のフォームに対する Deactivate イベントと、2 番目のフォームに対する Activate イベントが発生します。 これら 2 つのフォームに、可視で使用可能なコントロールが含まれていない場合は、切り替える前のフォームに対して LostFocusDeactivate の順でイベントが発生し、切り替えた後のフォームに対して ActivateGotFocus の順でイベントが発生します。

次の例では、フォーカスがオプション ボタンに移動したときに、ラベルにメッセージを表示します。 この例を試すには、次のイベント プロシージャを Contacts という名前のフォームに追加します。このフォームには 、OptionYes という名前のオプション ボタンと LabelYes という名前のラベルが含まれています。

Private Sub OptionYes_GotFocus() 
 Me!LabelYes.Caption = "Option button 'Yes' has the focus." 
End Sub 
 
Private Sub OptionYes_LostFocus() 
 Me!LabelYes.Caption = "" ' Clear caption. 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。