Detectar pulsación en aplicación MDI

21/11/2006 - 12:08 por Lope | Informe spam
Estoy haciendo una aplicación con formularios MDI y me gustaría que al
pulsar una determinada tecla (F3) se abriese un formulario de asistente
de búsqueda, independintemente del formulario hijo que esté abierto.

Estoy poniendo el código como respuesta al evento "KeyUp" del
formulario padre pero no funciona. ¿Dónde debo ponerlo?

¿Cómo detecto que la tecla pulsada es F3?

Gracias
 

Leer las respuestas

#1 Toni Recio
21/11/2006 - 16:40 | Informe spam
He escrito un pequeño ejemplo, usando el KeyDown (aunque debería ser lo mismo
para el KeyUp):

******************************************
Public Class Form1

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F3 Then
MsgBox("hola")
End If
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim f As New Form2
f.Show(Me)
End Sub

End Class
******************************************

Y efectívamente, tenía el mismo problema que tú.

El problema lo he solventado cambiando la propiedad "KeyPreview" del
formulario padre a "True". De ést modo todos los eventos de teclado, los
preprocesa el formulario principal.

Espero que te sea de ayuda.

Un saludo,
Toni Recio
www.tonirecio.com

"Lope" wrote:

Estoy haciendo una aplicación con formularios MDI y me gustaría que al
pulsar una determinada tecla (F3) se abriese un formulario de asistente
de búsqueda, independintemente del formulario hijo que esté abierto.

Estoy poniendo el código como respuesta al evento "KeyUp" del
formulario padre pero no funciona. ¿Dónde debo ponerlo?

¿Cómo detecto que la tecla pulsada es F3?

Gracias

Preguntas similares