Capturar evento teclas control+(X). Foco?

13/07/2005 - 11:42 por Selrak | Informe spam
Buenas,

Tengo programado en mi aplicacion que la combinacion de teclas segun el
formulario sea una u otra. El codigo en el form_load es:

For Each ctrl In Me.GroupBox1.Controls
AddHandler ctrl.KeyUp, AddressOf Me.ctrl_KeyUp
Next

AddHandler Me.KeyUp, AddressOf Me.ctrl_KeyUp

para capturar para cada control i para el propio formulario. En
ctrl_KeyUp pongo el codigo de captura de las teclas. Por ej:

Private Sub ctrl_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs)
If e.Control And e.KeyCode = Keys.A Then
MsgBox("Control-A")
End If
End Sub

Lo que pasa es que cuando no hay ningun control seleccionado, aunque el
form sea el activo, no se ejecuta.
Alguna idea? Gracias
 

Leer las respuestas

#1 Alex
13/07/2005 - 16:16 | Informe spam
Si lo he entendido bien, lo que quieres es que las combinaciones de teclas
funcionen tanto sobre los controles como sobre el formulario. Comprueba la
propiedad KeyPreview del formulario, para que sea este el primero en recibir
los eventos de teclado.

"Selrak" escribió:

Buenas,

Tengo programado en mi aplicacion que la combinacion de teclas segun el
formulario sea una u otra. El codigo en el form_load es:

For Each ctrl In Me.GroupBox1.Controls
AddHandler ctrl.KeyUp, AddressOf Me.ctrl_KeyUp
Next

AddHandler Me.KeyUp, AddressOf Me.ctrl_KeyUp

para capturar para cada control i para el propio formulario. En
ctrl_KeyUp pongo el codigo de captura de las teclas. Por ej:

Private Sub ctrl_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs)
If e.Control And e.KeyCode = Keys.A Then
MsgBox("Control-A")
End If
End Sub

Lo que pasa es que cuando no hay ningun control seleccionado, aunque el
form sea el activo, no se ejecuta.
Alguna idea? Gracias


Preguntas similares