- ベストアンサー
keypress
Visual Basic について keypress 関数について [F2]キーを押下しても keypress イベントは発生しません (1)プロパティの設定ではなく、コードでどのように記述したらいいのでしょうか? (2)それとも、できないのでしょうか? 以上、宜しくお願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub Form_Load() KeyPreview = True End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then 'ファンクションキー(F2)の処理 End If End Sub
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
Private Sub Form_KeyPress(KeyAscii As Integer) MsgBox KeyAscii End Sub はF1-F12に反応しません。それ以外はタブ、数字、アルファは出ます。 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub はF1-F12は反応して112からのコードが出ます。 テスト済み。 MsgBox KeyCodeはForm1.Print KeyCodeとしても確認できます。 他のコントロールでも同じと思います。
- TAGOSAKU7
- ベストアンサー率65% (276/422)
KeyPressを取りたいのは、もしかしてフォームのKeyPressでしょうか? フォームにコントロールが一つでも存在していたなら、 フォームのプロパティ KeyPreview = True
- todo36
- ベストアンサー率58% (728/1234)
KeyDownイベントで行けます
- taknt
- ベストアンサー率19% (1556/7783)
Formのイベントだと受け取れたと思います。 Formのプロパティでキーが有効かどうかもあったと思うので確認してみてください。
- uratan
- ベストアンサー率30% (38/124)
keypressイベントは各コントロール上で発生します。 そして、KeyAsciiを受け取ります。 具体的にどのようにしたいか、教えていただけないでしょうか?