ObjectFrame.LostFocus イベント (Access)
LostFocus イベントは、指定したオブジェクトがフォーカスを失ったときに発生します。
構文
式。Lostfocus
式ObjectFrame オブジェクトを表す変数。
注釈
これらのイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 OnLostFocus プロパティをマクロの名前または [イベント プロシージャ] に設定します。
このイベントは、Tab キーを押すかオブジェクトをクリックするなど、ユーザー アクションに応答してフォーカスが移動したとき、または Visual Basic で SetFocus メソッドを使用するとき、またはマクロの SelectObject、GoToRecord、GoToControl、または GoToPage アクションを使用するときに発生します。
コントロールがフォーカスを受け取ることができるのは、そのコントロールの " Visible /可視" プロパティと " Enabled /使用可能" プロパティが [Yes/はい] に設定されている場合だけです。 フォームがフォーカスを受け取ることができるのは、そのフォームにコントロールが配置されていないか、または、すべての可視コントロールが使用不可にされている場合だけです。 可視の使用可能なコントロールがフォームに配置されている場合は、フォームの GotFocus イベントは発生しません。
GotFocus イベントが発生したときに実行されるマクロやイベント プロシージャを使うと、フォームやコントロールがフォーカスを受け取ったときの動作を指定できます。 たとえば、フォームにある各コントロールに GotFocus イベント プロシージャを割り当てると、テキスト ボックスに簡単な指示やメッセージを表示して、アプリケーションの操作方法を示すことができます。 また、フォーカスを得たコントロールに依存するコントロールの使用可能と使用不可を切り替えたり、そのコントロールを表示したりして、次の操作の手掛かりを示すこともできます。
注:
Tab キーを押したときにコントロールからコントロールにフォーカスが移動する順序をカスタマイズするには、タブ オーダーを設定するか、コントロールのアクセス キーを指定します。
The LostFocus event differs from the Exit event in that the LostFocus event occurs every time a control loses the focus. The Exit event occurs only before a control loses the focus to another control on the same form. The LostFocus event occurs after the Exit event.
フォームのコントロールにあるフォーカスを別のコントロールに移動すると、フォーカスを持っていたコントロールに対する 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 つのフォームに、可視で使用可能なコントロールが含まれていない場合は、切り替える前のフォームに対して LostFocus 、 Deactivate の順でイベントが発生し、切り替えた後のフォームに対して Activate 、 GotFocus の順でイベントが発生します。
例
次の例では、フォーカスがオプション ボタンに移動したときに、ラベルにメッセージを表示します。 この例を試すには、次のイベント プロシージャを 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 のサポートおよびフィードバックを参照してください。