Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

vb.net key combination

Tags:

vb.net

I'm trying to capture two key presses in my VB.net application, for this example CTRL + B, the code below doesn't work but it does for single keys. I have tried setting keypreview as true but this has no effect.

  Private Sub main_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles mybase.KeyDown
            If e.KeyCode = Keys.ControlKey And e.KeyCode = Keys.B Then
                MsgBox("CTRL + B Pressed !")
            End If
        End Sub
    End Class

Thanks

like image 565
Elliott Avatar asked Dec 14 '10 18:12

Elliott


1 Answers

The Control key is a Modifier key. This code tests for Ctrl + B

e.KeyCode = Keys.B AndAlso e.Modifiers = Keys.Control

The key-code is B, but the modifier is Ctrl.

Your code snippet, updated:

Private Sub main_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles mybase.KeyDown
    If (e.KeyCode = Keys.B AndAlso e.Modifiers = Keys.Control) Then
        MsgBox("CTRL + B Pressed !")
    End If
End Sub
like image 137
Stuart Thompson Avatar answered Sep 22 '22 14:09

Stuart Thompson