ここではフォーム上でファンクションキーの押下時と、ファンクションキーに対応したボタンの押下時の動作を連動させる方法を紹介します。

ファンクションキーとボタンの動作を連動させる

フォームのKeyPreviewプロパティをTrueに設定にしておきます。

ボタンのクリックイベントを発生させる実装例

以下は [F1] キー押下時と [Button1] ボタンのクリックイベントを連動する例です。

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
    ' F1キーを押した場合
    If e.KeyCode = Keys.F1 Then
        Button1.PerformClick() ' Buttonコントロールのクリックイベントを発生させる
    End If
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    MessageBox.Show("Button1がクリックされました。")
End Sub


押されたらファンクションキーにより処理を分岐する実装例

以下は [F1] キー押下時と [Button1] ボタンのクリックイベント、[F2] キー押下時と [Button2] ボタンのクリックイベントを連動する例です。

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
    ' ファンクションキーによりボタンのクリックイベントを発生させる
    Select Case e.KeyCode
        Case Keys.F1                       ' F1キー
            If Button1.Enabled = True Then ' ボタン使用不可をチェックする
                Button1.PerformClick()     ' Button1のクリックを実行
            End If
            e.Handled = True               ' KeyDownイベントを発生させない

        Case Keys.F2                       ' F2キー
            If Button2.Enabled = True Then ' ボタン使用不可をチェックする
                Button2.PerformClick()     ' Button2のクリックを実行
            End If
            e.Handled = True               ' KeyDownイベントを発生させない

        Case Keys.F3                       ' F3キー
            e.Handled = True               ' KeyDownイベントを発生させない
    End Select
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    MessageBox.Show("Button1がクリックされました。")
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    MessageBox.Show("Button2がクリックされました。")
End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    MessageBox.Show("Button3がクリックされました。")
End Sub


以上、ファンクションキーとボタンの動作を連動させる方法について解説しました。