• ベストアンサー

keypress

Visual Basic について  keypress 関数について [F2]キーを押下しても keypress イベントは発生しません (1)プロパティの設定ではなく、コードでどのように記述したらいいのでしょうか? (2)それとも、できないのでしょうか? 以上、宜しくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.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)
回答No.5

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)
回答No.4

KeyPressを取りたいのは、もしかしてフォームのKeyPressでしょうか? フォームにコントロールが一つでも存在していたなら、 フォームのプロパティ KeyPreview = True

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

KeyDownイベントで行けます

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

Formのイベントだと受け取れたと思います。 Formのプロパティでキーが有効かどうかもあったと思うので確認してみてください。

  • uratan
  • ベストアンサー率30% (38/124)
回答No.1

keypressイベントは各コントロール上で発生します。 そして、KeyAsciiを受け取ります。 具体的にどのようにしたいか、教えていただけないでしょうか?

関連するQ&A

専門家に質問してみよう