Visual Basic - Controlar números

Life is soft - evento anual de software empresarial
 
Vista:

Controlar números

Publicado por Antonio (93 intervenciones) el 04/03/2009 22:48:24
Como podría controlar en el evento KeyPress(KeyAscii As Integer) de un TextBox que solo se puedan introducir números del 1 al 4.

Saludos cordiales.
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

Nna más

Publicado por Quique (3 intervenciones) el 05/03/2009 01:20:39
Ya se han escrito aquí miles de ejemplos de cómo hacer para que se acepten solo números en un TextBox; busca uno de ellos y seguro que podrás adaptarlo para que solamente permita número del 1 al 4.
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

RE:Controlar números

Publicado por Antonio (93 intervenciones) el 05/03/2009 14:11:21
Me contesto, por si sirve de ayuda a otro principiante como yo.

Private Sub Taller_KeyPress(KeyAscii As Integer)
'Limitar solo entrada dígitos numéricos
If KeyAscii = 27 Then
Unload Me
ElseIf KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{tab}"
'Si la tecla pulsada no es retroceso
ElseIf KeyAscii <> 8 Then
If Not IsNumeric("0" & Taller.Text & Chr(KeyAscii)) Then
MsgBox "Consignar del 1 al 4, según sea este material para los Talleres 1 al 4.", vbInformation
KeyAscii = 0
ElseIf KeyAscii < 49 Or KeyAscii > 52 Then
MsgBox "Consignar del 1 al 4, según sea este material para los Talleres 1 al 4.", vbInformation
KeyAscii = 0
End If
End If
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

RE:Controlar números

Publicado por P3L30N2009 (699 intervenciones) el 05/03/2009 17:37:40
Muy bueno el código, aunque también lo podias haber hecho con solamente tres líneas:

If KeyAscii = 27 Then Unload Me
If KeyAscii = 13 Then SendKeys "{TAB}"
If InStr("1234" & Chr(8), Chr(KeyAscii)) = 0 Then KeyAscii = 0

Además, en diseño deberías controlar el número máximo de dígitos a introducir (propiedad MaxLength).
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

RE:Controlar números

Publicado por Antonio (93 intervenciones) el 05/03/2009 19:59:21
Gracias P3L30N2009.

La propiedad MaxLength la controlo en tiempo de diseño en cada TextBox., así como el formato.

Saludos cordiales.
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