Visual Basic - Problemas con Tabulación Entre Textboxs

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con Tabulación Entre Textboxs

Publicado por AnGeR (2 intervenciones) el 16/11/2014 19:28:29
Este es parte de mi Código:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Text2.SetFocus
End Sub
 
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Text3.SetFocus
End Sub
 
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Text4.SetFocus
End Sub
 
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Lucky.SetFocus
End Sub

Esos Textboxs aceptan sólo números y tabulan automáticamente al Focus que requiero.
Sucede que al presionar una tecla no permitida, osea diferente a números igualmente tabula dejando el text vacío, me gustaría que simplemente no permita pero el Focus se mantenga en ese textbox

Otra problema también es que requiero que los números allí digitados deben ser distintos entre sí, en caso contrario borrar el text en cuestión y el Focus se quede en él... Algo así como If Text1=Text2 Then Text1="":Text1.SetFocus
No sé bien... Es necesario que se Limpie (Text="") El último digitado siempre que sea igual el número a alguno ya introducido.

Muchas gracias, si quieren les puedo pasar el compilado, es un juego realmente sencillo ;)
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
Imágen de perfil de JoaoM
Val: 58
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problemas con Tabulación Entre Textboxs

Publicado por JoaoM (79 intervenciones) el 17/11/2014 23:08:31
en cada evento tienes o mensionas el textBox siguiente, Ej

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Text4.SetFocus
End Sub
 
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
End If
Lucky.SetFocus
End Sub

Donde tienes Text4.SetFocus debes de tener Text3.SetFocus

Donde tienes Lucky.SetFocus debes de tener Text4.SetFocus

y con todos así para que el focus vaia al TextBox indicado y no al que sigue
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

Problemas con Tabulación Entre Textboxs

Publicado por AnGeR (2 intervenciones) el 19/11/2014 03:56:13
Sí pero cuando en Text3 introduzcan números el Focus irá al Text4.
Si digitan números repetidos, EJ Text1="1", Text2="3", Text3="1"... Entonces no me permita, osea Text1="" y que el focus se mantenga en sí mismo...


Perfecto yo puedo cambiar ese Focus que me indicas, pero cuando digiten correctamente los números (Sólo de una cifra) y que no se repitan entre textboxs, entonces el Focus se irá de allí al TabIndex siguiente (Esto del tabindex siguiente no lo sé hacer, por lo tanto uso el Text(i).SetFocus)

Gracias igualmente.
Sí no me explice o no me dí a entender, me avisas
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
Val: 58
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problemas con Tabulación Entre Textboxs

Publicado por JoaoM (79 intervenciones) el 20/11/2014 02:52:05
Como ejemplo tomate el evento del Private Sub Text3_KeyPress

Busca una posicion para TextBox3.SetFocus antes del 1ª End If o entre los 2 End If por ahí es la cosa
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