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

Preguntas similare

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

Respuesta Responder a este mensaje
#2 neualex
21/11/2006 - 20:56 | Informe spam
Lope,

Tomando el codigo de Toni:

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

Dim f As New frmAsistenteBusqueda
f.Show(Me)
End If
End Sub
End Class

Asi cada vez que pulses F3, se creara una nueva instancia del
formulario Asistende de Busquedas.

Saludos...

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
Respuesta Responder a este mensaje
#3 Toni Recio
21/11/2006 - 21:04 | Informe spam
Neualex, debo advertirte que estás incumpliendo una Patente de software al
utilizar mi algoritmo sin permiso.

Espero que nuestros abogados puedan llegar a un acuerdo amistoso...

:-DDDDDD

"neualex" wrote:

Lope,

Tomando el codigo de Toni:

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

Dim f As New frmAsistenteBusqueda
f.Show(Me)
End If
End Sub
End Class

Asi cada vez que pulses F3, se creara una nueva instancia del
formulario Asistende de Busquedas.

Saludos...

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


Respuesta Responder a este mensaje
#4 neualex
22/11/2006 - 14:45 | Informe spam
$1,000,000 to settle down, sounds good?
lol :)
Saludos...

Toni Recio wrote:
Neualex, debo advertirte que estás incumpliendo una Patente de software al
utilizar mi algoritmo sin permiso.

Espero que nuestros abogados puedan llegar a un acuerdo amistoso...

:-DDDDDD

"neualex" wrote:

> Lope,
>
> Tomando el codigo de Toni:
>
> 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
>
> Dim f As New frmAsistenteBusqueda
> f.Show(Me)
> End If
> End Sub
> End Class
>
> Asi cada vez que pulses F3, se creara una nueva instancia del
> formulario Asistende de Busquedas.
>
> Saludos...
>
> 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
>
>
Respuesta Responder a este mensaje
#5 Lope
23/11/2006 - 11:43 | Informe spam
Graciasss.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida