Visual Basic - ¿Puede el formulario responder a entradas desde el teclado?

Life is soft - evento anual de software empresarial
   
Vista:

¿Puede el formulario responder a entradas desde el teclado?

Publicado por Mikel (8 intervenciones) el 16/02/2015 02:38:21
Buenas noches.
Me preguntaba si en el Visual Studio 2008 puedo usar órdenes de respuesta en base a entradas en el teclado numérico. Ejemplo, si yo pongo un objeto en el centro del formulario, que al presionar "arriba" en el teclado, ese objeto se mueva para arriba, y si le doy "abajo" que se mueva para abajo.
Algo así como onKeyInstruction, no sé si existirá.

Gracias por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Puede el formulario responder a entradas desde el teclado?

Publicado por MMan (2 intervenciones) el 16/02/2015 03:10:14
si no me equivoco.. hay varios eventos de teclado

keydown (cuando presionas)
keyup (cuando sueltas )
keypress (cuando presionas y luego sueltas)

y todos manejan un keycode (parametro )


lista keycode
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Megamind

¿Puede el formulario responder a entradas desde el teclado?

Publicado por Megamind (121 intervenciones) el 16/02/2015 04:38:41
En VB6 se puede hacer poniendo la propiedad KeyPreview del formulario a True
Y luego

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 
 Select Case KeyCode
  Case 37
   Picture1.Left = Picture1.Left - 15
  Case 38
   Picture1.Top = Picture1.Top - 15
  Case 39
   Picture1.Left = Picture1.Left + 15
  Case 40
   Picture1.Top = Picture1.Top + 15
 End Select
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Puede el formulario responder a entradas desde el teclado?

Publicado por Mikel (8 intervenciones) el 16/02/2015 12:22:30
¡Gracias a los dos por los comentarios!
Era algo así lo que estaba buscando :D

Lo que no entiendo son los números del case, el 37, 38 y esos,
ahí supongo que tengo que darle los valores introducidos por el teclado.
¿Cómo puedo saber los valores que ocupan las distintas teclas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Puede el formulario responder a entradas desde el teclado?

Publicado por Pedro Luis (56 intervenciones) el 16/02/2015 13:41:06
En un formulario vacio pon el siguiente codigo, rueda el programa y en parte izquierda iran apareciendo los codigos de las teclas pulsadas

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Print KeyCode
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JoaoM

¿Puede el formulario responder a entradas desde el teclado?

Publicado por JoaoM joaely7@gmail.com (72 intervenciones) el 16/02/2015 19:17:42
Hola Pedro.

A mi no me funciona, en el form nada me aparece
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Puede el formulario responder a entradas desde el teclado?

Hola Mikel!

Las dos soluciones más prácticas que se me ocurren son usar el control SpinButton, y con esto controlarás mejor el movimiento del objeto, ya que te permitirá incluso manejar un limite o tope máximo y mínimo del movimiento que buscas, la otra es más complicada, usando el evento keypress con esto detectarás cuando presionas las fechas de arriba o abajo y pues dependiendo de las condicionantes es el movimiento o posición de tu objeto.

Espero te sirva este comentario, saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar