Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Zeroql en 20 Agosto 2010, 18:28 pm



Título: Detectar tecla presionada en el form (Resuelto)
Publicado por: Zeroql en 20 Agosto 2010, 18:28 pm
Buenas,
mmm bueno tengo el problema de que necesit detectar que tecla se presiona estando en x formulario y x control.
por ejemplo tengo un form con 2 botones y 2 cajas de texto, resulta que estoy posicionado en una caja cualquiera pero que al presionarse F5 se realize la funcion del primer boton.
intente con form_KeyPress pero no me da....
Si alguien sabe le agradezco mucho la colaboracion.


Título: Re: Detectar tecla presionada en el form
Publicado por: raul338 en 20 Agosto 2010, 18:53 pm
No se, tal vez sea exagerado, pero HotKey (http://foro.rthacker.net/vb-net/(vb-net)-hotkeys-ayuda/msg14744/#msg14744)?

Probaste con la propiedad PreviewKeyPress del form?


Título: Re: Detectar tecla presionada en el form
Publicado por: Zeroql en 20 Agosto 2010, 19:04 pm
No, no probe con esa propiedad, gracias por el link y por el aporte, publico resultados.


Título: Re: Detectar tecla presionada en el form
Publicado por: Zeroql en 20 Agosto 2010, 19:16 pm
Raul338 pues no me sirvio el evento  y el sistema de hotkey, no sirve para las teclas de F1 al F12 y necesito son esas teclas... igual muchas gracias por el aporte.
alguien conoce otra forma de detectar las teclas de funcion presionadas?


Título: Re: Detectar tecla presionada en el form
Publicado por: raul338 en 20 Agosto 2010, 19:17 pm
Emm... estas usando mal el hotkey, el hotkey acepta todas las teclas xD

EDIT: Aver si esto te funciona, en lugar de usar el enum Keys, usa esto

http://www.pinvoke.net/default.aspx/Enums/VK.html (http://www.pinvoke.net/default.aspx/Enums/VK.html)

MMm.... pues, no se me ocurre nada mas :P

(te digo, yo hice una app con hotkeys usando Control + F10, y etc, yo pude, vos podes :xD)


Título: Re: Detectar tecla presionada en el form
Publicado por: seba123neo en 21 Agosto 2010, 04:31 am
usa KeyDown...

Código
  1.    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
  2.        If e.KeyValue = Keys.F1 Then
  3.            MsgBox("F1")
  4.        End If
  5.    End Sub

saludos.


Título: Re: Detectar tecla presionada en el form
Publicado por: Zeroql en 21 Agosto 2010, 16:59 pm
seba123neo tampoco funciona ese metodo...


Título: Re: Detectar tecla presionada en el form
Publicado por: Ari Slash en 21 Agosto 2010, 17:11 pm
tu formulario debe tener en true la propiedad KEYPREVIEW


Título: Re: Detectar tecla presionada en el form
Publicado por: Zeroql en 21 Agosto 2010, 17:24 pm
Ahora si me dieron, jeje muchas gracias, no sabia lo de la propiedad del key...


Título: Re: Detectar tecla presionada en el form
Publicado por: raul338 en 21 Agosto 2010, 17:33 pm
seba123neo tampoco funciona ese metodo...

No puede ser que no te funcione, yo lo hago tal cual como esta puesto ahi (con KeyPreview del form activado) y funciona :)

Con hotkey aunque sea un copy paste y tambien funciona :P

Pon el codigo que estas usando :)