SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Kurt en Jueves 26 de Febrero de 2004, 21:46

Título: Problemas Con Tecla Enter
Publicado por: Kurt en Jueves 26 de Febrero de 2004, 21:46
Holas a todos:

Estoy utilizando el siguiente codigo para moverme en los textbox de mi pantalla

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
End If
End Sub

y por alguna extraña razon cada vez que oprimo la tecla enter los leds del teclado parpadean y al seguir introduciendo datos el teclado se deshabilita y tengo que reiniciar mi P.C., mucho agradecere si alguien me puede decir porque?

Muchisimas gracias...

Saludos...
Título: Re: Problemas Con Tecla Enter
Publicado por: Jose Arriagada en Viernes 27 de Febrero de 2004, 02:00
Lo que ocurre es que tienes el evento de controlar la tecla presionada en el form, que hace lo que indicas.
Tienes que controlar la presion de la tecla en el control que desees.
Hay varias formas de resolver este tema.

1.- Supongamos que tienes 3 text (text1,text2 y text3), entonces deberias tener que en la propiedad tabindex de cada text, indicar como pasara el tabulador. Esto es, desde el text1 al text2, y del text2 al text3, entonces en el diseño pones
    text1.tabindex=0
    text2.tabindex=1
    text3.tabindex=2

   en el keypress de cada text colocas
   
   if keyascii=13 then
      sendkeys "{TAB}"
   endif

2.- La otra forma, es forza el foco a un text en particular,
    en el text1
    if keyascii=13 then
       text2.setfocus
    endif

    en el text2
    if keyascii=13 then
       text3.setfocus
    endif


3.- La ultima opcion, es crear una matriz de controles text, por ejemplo, si tienes 5 controles text(index) (del 0 al 5)

     en el keypress del text colocas

     if keyascii=13 then
        if index<5 then
           text(index+1).setfocus
        endif
     endif

Espero te sirva
Título: Re: Problemas Con Tecla Enter
Publicado por: Kurt en Viernes 27 de Febrero de 2004, 16:57
Muchisimas gracias...

Esto a funcionado bien..