Hola, que tal soy nuevo en el foro, espero poder contar con ustedes mi pequeña duda. veran tengo cinco cuadros de texto en una aplicación de visual basic 6.0 y lo que quiero es que al ingresar en el primer cuadro de texto cinco números incluyento letras, se pase al siguiente cuadro de texto y con este sucesivamente lo mismo, es decir así como cuando se ingresa la serial en office y/o windows. Cualquier ayuda y respeusta es bien recibida gracias. Espero que me puedan ayudar porque ya he buscado por todo el internte y he encontrado. graicas de antemano.
Creo que es con LostFocus y GotFocus
Me gustaria que me dieras un ejemplo porfa. No te imaginas cuando he buscado esta respuesta. porfa. gracias
Una manera simple que se me ocurre (si hay pocos campos) es:
Private Sub Form_Load()
Text1.MaxLength = 5
Text2.MaxLength = 5
Text3.MaxLength = 5
Text4.MaxLength = 5
Text5.MaxLength = 5
End Sub
Private Sub Text1_Change()
If Len(Text1) = 5 Then Text2.SetFocus
End Sub
Private Sub Text2_Change()
If Len(Text2) = 5 Then Text3.SetFocus
End Sub
Private Sub Text3_Change()
If Len(Text3) = 5 Then Text4.SetFocus
End Sub
Private Sub Text4_Change()
If Len(Text4) = 5 Then Text5.SetFocus
End Sub
Si tienes muchos campos crea una matriz de controles.
Private Sub Form_Load()
Txt(1).MaxLength = 5
Txt(2).MaxLength = 5
Txt(3).MaxLength = 5
Txt(4).MaxLength = 5
Txt(5).MaxLength = 5
End Sub
Private Sub Txt_Change(Index As Integer)
If Len(Txt(5).Text) = 5 Then
'Opción de salida cuando llegue al ultimo textbox
Else
If Len(Txt(Index)) = 5 Then Txt(Index + 1).SetFocus
End If
End Sub
OJO las matrices de controles empiezan en cero pero yo no lo uso.
Yo decia otra manera pero esa ya vale, o sea, cuando una el valor es "X" se quite el foco y de foco a otra, se hacia con variables etc, pero esa ya vale
Gracias amigos, me funciono a la perfección, los dos ejemplos estan perfectos. gracias.