Form.KeyPreview プロパティ (Access)

KeyPreview プロパティを使用して、コントロールのキーボード イベント プロシージャの前にフォーム レベルのキーボード イベント プロシージャを呼び出すかどうかを指定します。 読み取り/書き込みが可能な Boolean です。

構文

KeyPreview

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

注釈

"KeyPreview/キーボードイベント取得" プロパティの設定値は次のとおりです。

Setting Visual Basic 説明
はい True フォームは最初にキーボード イベントを受け取り、次にアクティブなコントロールはキーボード イベントを受け取ります。
いいえ False アクティブなコントロールだけがキーボード コントロールを受け取ります。(既定値)

" KeyPreview /キーボードイベント取得" プロパティ" プロパティは、どのビューでも設定できます。

KeyPreview プロパティを使用して、フォームのキーボード処理プロシージャを作成します。 たとえば、アプリケーションがファンクション キーを使用する場合、"KeyPreview/キーボードイベント取得" プロパティに True を設定すると、キーストローク イベントを受け取るコントロールごとにコードを作成する代わりに、フォーム レベルでキーストロークを処理することができます。

フォーム レベルでのみキーボード イベントを処理し、コントロールではキーボード イベントを受け取らないようにするには、フォームの KeyPress イベント プロシージャで引数 KeyAscii に 0 を設定し、かつ、フォームの KeyDown イベントおよび KeyUp イベント プロシージャで引数 KeyCode に 0 を設定します。

フォームにコントロールが表示されていない場合、または有効なコントロールがない場合、フォームは自動的にすべてのキーボード イベントを受け取ります。

次の使用例では、フォームの Load イベント プロシージャの中で "KeyPreview/キーボードイベント取得" プロパティに True を設定します。 これによって、まず、フォームがキーボード イベントを受け取り、次に、コントロールがキーボード イベントを受け取ります。 フォームの KeyDown イベント プロシージャでは、引数 KeyCode の値によって、F2、F3、または F4 キーが押されたかどうかが判断されます。

Private Sub Form_Load() 
 Me.KeyPreview = True 
End Sub 
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 
 Select Case KeyCode 
 Case vbKeyF2 
 ' Process F2 key events. 
 Case vbKeyF3 
 ' Process F3 key events. 
 Case vbKeyF4 
 ' Process F4 key events. 
 Case Else 
 End Select 
End Sub

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

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