Keydown イベントで TAB キー押下をキャプチャしようとしています。テキストボックスでタブキーが押されたときにイベントを発生させる方法に関する別の投稿を見ることができますか?
ただし、上記のリンクでは、投稿されたソリューションが機能していません。これについては、以下で説明します。
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) _
Handles TextBox1.KeyDown
If e.KeyCode = Keys.Tab Then
e.SuppressKeyPress = True
'do something
End If
End Sub
テスト目的で、FORM1 に 2 つの単純なテキスト ボックスを追加し、以下のコードを記述して、KeyDown イベントで TAB をキャプチャします。
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Tab Then
e.SuppressKeyPress = True
MsgBox("TAB DOWN")
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Me.Text = e.KeyChar
End Sub
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
If e.KeyCode = Keys.Tab Then
MsgBox("TAB UP")
End If
End Sub
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
Me.Text = "LEAVE"
End Sub
上記のコードは、TAB が押されたときに KeyDown にメッセージ ボックスを表示することを前提としています。動いていない。
私が間違っていることを教えてください。前もって感謝します!!!