ショートカットキーをキャッチしようとしています。KeyDown Events
管理方法について説明が必要です。これを例に取りましょう:
Private Sub SoldeOuvertFou_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.Control And e.KeyCode = Keys.W Then
MessageBox.Show("Ctrl+W")
End If
If e.Control And e.KeyCode = Keys.F5 Then
MessageBox.Show("Ctrl+F5")
End If
End Sub
完璧に動作します。どちらを最初に押しても、何回押しても、両方MessageBox
がポップアップします。sub 内の順序を単純に変更すると、次のようになります。
Private Sub SoldeOuvertFou_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.Control And e.KeyCode = Keys.F5 Then
MessageBox.Show("Ctrl+F5")
End If
If e.Control And e.KeyCode = Keys.W Then
MessageBox.Show("Ctrl+W")
End If
End Sub
このアプローチでは、Ctrl+F5
ポップアップのみが表示されます。表示する方法はありませんCtrl+W
...理由はわかりますか?