Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo ErrorHandler
Select Case KeyCode
Case vbKeyF2
If CmdPF2.Enabled Then Call CmdPF2_Click
Case vbKeyF10
If CmdPF10.Enabled Then Call cmdPF10_Click
Case vbKeyF11
If CmdPF11.Enabled Then Call CmdPF11_Click
Case vbKeyF12
If CmdPF12.Enabled Then Call CmdPF12_Click
End Select
Select Case KeyCode
Case vbKeyF2, vbKeyF3, vbKeyF6, vbKeyF8, vbKeyF9, vbKeyF10, vbKeyF11, vbKeyF12
KeyCode = 0
End Select
Exit Sub
ErrorHandler:
MsgBox "システムエラー" & vbCrLf & "Form_KeyDown" & vbCrLf & _
Err.Source & " " & Err.Number & " " & Err.Description
End Sub
以上のプログラムを設定したのですが、プログラムを起動したときに指定のキーを押してもForm_KeyDown自体が反応しません。
上のプログラムに間違いがあるとしたらどこを修正すればよいのでしょうか?
もしプログラム上に間違いがなく、別の問題があるとしたらそれも教えて下さい。
>上のプログラムに間違いがあるとしたらどこを修正すればよいのでしょうか?
>もしプログラム上に間違いがなく、別の問題があるとしたらそれも教えて下さい。
フォームのKeyPreviewプロパティがTrueになっているか確認してみては?
>フォームのKeyPreviewプロパティがTrueになっているか確認してみては?
確認してみたらFalseになっていましたのでTrueに変更したら上手く認識しました。
ありがとうございました。
ツイート | ![]() |