Programación General > Visual Basic 6.0 e inferiores

 Sobre Restringir Entradas En Los Textbox

(1/2) > >>

supra:
Hola alguien sabe como puedo restringir la entrada de los textbox para datos
numericos, es decir que solo me accepte x cantidad de digitos y dos
decimales. Tambien el formato fecha a dd/mm/aaaa.

He probado una demo de input de ComponentOne, pero extrañamente se me
desactiva mi teclado al utilizar el enter muchas veces queriendo trasladarme
de un control a otro.

Es por eso que quiero hacerlo con los tradicionales textbox, no importa lo
que cueste.


Saludos y gracias

Kev:
Para la cantidad de caracteres que reciva el textbox debes especificarlo en su propiedad MaxLength, ahora para que solo te acepte algunos caracteres(en tu caso numeros, punto, coma y barra para las fechas) tienes que utilizar el evento KeyPress donde te valuda cada tecla que presionas, en este evento utilizas KeyAscii para saber que tecla se presiono, validad un rango las excepciones que va a aceptar el TextBox.

Ejemplo, aca por ejemplo la tecla ENTER vale 13 segun codigo ASCII, si presiona enter muestra un mensaje caso contrario no muestra nada, ni el texbox escribe nada


--- Código: Text --- Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then    MsgBox ("Presiono Enter")ElseKeyAscii = 0End IfEnd Sub  

Salu2
 :comp:

Cyclop:
Otra opcion seria que uses el Control ActiveX Mask Edit


Salu2

Cyclop

supra:
Hola Cyclop, ya he probado el maskedit, pero este me formatea la entrada una vez insertado el dato, aparte de eso quiero formatearlo al ingresar el dato.

Saludos.

y sigo intentandolo

Brroz:
Hola supra.

Creo que lo más simple es controlar el evento KeyPress del control. Fíjate en el ejemplo para controlar la entrada de números en un TextBox:


--- Código: Text --- Private Sub Text1_KeyPress(KeyAscii As Integer)     If KeyAscii <> 8 _    and (KeyAscii < 48 Or KeyAscii > 57) _    And KeyAscii <> 44 Then KeyAscii = 0 End Sub  
Abur

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa