VB.NETでWindowsフォーム上でキーボードの特定のキーとボタンを連動させたいことがある。
(ファンクションキーとボタンの動作を連動させる等)
このような場合には、配置したボタンのPerformClick()メソッドとフォームのKeyPreviewプロパティを利用する。
以下、サンプル。
(ファンクションキーとボタンの動作を連動させる等)
このような場合には、配置したボタンのPerformClick()メソッドとフォームのKeyPreviewプロパティを利用する。
以下、サンプル。
《前準備》
1.フォームにボタンを配置する。
→サンプルでは、コントロール名を"F1Button"としている。
2.Form1のKeyPreviewプロパティをTrueに変更する。
《コード》
【補足事項】
・フォームのKeyPreviewプロパティがFalseだとキーイベントが発生しない。
・フォーム上で押下されたキーを取得するには、e.KeyCodeを利用する。
→目的のキーであるかを判断し、PerformClick()メソッドを実行する。
1.フォームにボタンを配置する。
→サンプルでは、コントロール名を"F1Button"としている。
2.Form1のKeyPreviewプロパティをTrueに変更する。
《コード》
Public Class Form1
Inherits System.Windows.Forms.Form
:(中略)
'Form1のKeyDownイベント
Private Sub Form1_KeyDown(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles MyBase.KeyDown
'F1キーを押した場合
If e.KeyCode = Keys.F1 Then
F1Button.PerformClick()
End If
End Sub
'F1ボタンのクリックイベント
Private Sub F1Button_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles F1Button.Click
MessageBox.Show("F1ボタンを押しました", "確認", _
MessageBoxButtons.OK)
End Sub
End Class【補足事項】
・フォームのKeyPreviewプロパティがFalseだとキーイベントが発生しない。
・フォーム上で押下されたキーを取得するには、e.KeyCodeを利用する。
→目的のキーであるかを判断し、PerformClick()メソッドを実行する。
- カテゴリ:
- VB.NET



