Tecla TAB

Mi problema es:
Necesito controlar la entrada de datos en TextBox.
El usuario debe poder pasar de un TextBox a otro pulsando la tecla Enter o Tab.
El control se realiza en el evento KeyPress del objeto Text (tengo una matriz de controles con este objeto).
Teóricamente el evento KeyPress sólo reconoce las teclas ENTRAR, TAB y RETROCESO, pero en realidad a la tecla TAB no me la reconoce...
La pregunta que hago es:
If KeyAscii = 13 Or KeyAscii = vbKeyTab Then
(Acá va el código que realiza el control)
También probé así:
If KeyAscii = 13 Or KeyAscii = 9 Then
(Acá va el código que realiza el control)
Pero esto no funciona ¿cómo puedo hacer?
Muchas gracias y muchos besos,
Sara

1 respuesta

1
Respuesta de
Hola Sara.
Efectivamente, el enumerado KeyCodeConstants contiene todas las constantes más importantes para cada tecla (pulsa F2 y escribe en la búsqueda "KeyCodeConstants" para ver la correspondencia constante-valor.
El TAB es el código 9 y el ENTER el 13. En condiciones normales el código que indicas debería funcionar. Lo que se me ocurre que puede ocurrir es que tengas el teclado mal configurado y el código de tu tecla TAB sea otro distinto. Para comprobarlo pon lo siguiente en el manejador de eventos:
MsgBox "La tecla pulsada es: " & KeyAscii
Y mira el código que te indica al pulsar el TAB.
Espero que te sirva.
¡Qué tonta! ¡No se me había ocurrido! Aunque... mi tecla TAB funciona como TAB... y si el teclado estuviese desconfigurado no sería así... ¿o no?, bueno... voy a probar lo que me dijiste.
Muchas gracias y un abrazo,
Sara
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: