martes, 29 de mayo de 2012

Visual Basic no reconoce las teclas pulsadas

Es posible que en alguna ocasión necesites capturar las pulsaciones de las teclas en una aplicación. Para ello, nos servimos del evento KeyPress, por ejemplo.
Simplemente debemos seleccionar este elemento en el formulario y escribir una sentencia como la que sigue.

Private Sub Form1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        If e.KeyChar = ChrW(Keys.Escape) Then 'Si pulsa la tecla escape
            Messagebox.show("Ha pulsado la tecla escape")
        End If
End Sub

Es tan sencillo como esto, pero en ocasiones puede que no detecte que estamos pulsando una tecla y el problema es que el formulario no tiene la opción activa. Para solucionarlo, debemos seleccionar el formulario, y en el cuadro de propiedades cambiar la opción KeyPreview a True.

No hay comentarios:

Publicar un comentario