En esta ocación tan solo queria escribir algo y se me ocurrió la clasica PERMITIR SOLO NÚMEROS O TEXTOS EN UN TEXTBOX o COMBOBOX, bueno aquí se las dejo.
Solo números:
en el evento KeyDown del TextBox o ComboBox agregan
Código:
If Not ((e.KeyValue >= 48 And e.KeyValue <= 57) OrElse (e.KeyValue >= 96 And e.KeyValue <= 105) OrElse (e.KeyValue >= 37 And e.KeyValue <= 40) OrElse (e.KeyValue = 8 OrElse e.KeyValue = 46)) OrElse (e.Shift = TrueOr e.Alt = True) Then e.Handled = True e.SuppressKeyPress = True EndIf
El valor 8 = Borrar
El valor 46 = Suprimir
los valores entre [48 y 57] y [96 y 105] son los correspondientes a las teclas del 0 al 9 del teclado alfanumérico y numérico respectivamente.
los valores entre [37 y 40]son los correspondientes a las teclas del direccionales arriba, abajo para poder desplazarnos dentro del texto.
tambien se determina si se ha oprimido la tecla Shift o la tecla Alt esto para evitar que se impriman los caracteres tales como |, !, @, , #, ·, $, ~, %, , &, ¬, /, (, ), = y otros dependiendo de la configuración y el idioma del teclado.
Para permitir la entrada de texto exclusivamente solo debemos reemplazar los valores numéricos por los corresponientes a las teclas alfanuméricas.
Esto >> ((e.KeyValue >= 48 And e.KeyValue <= 57)
OrElse (e.KeyValue
>= 96 And e.KeyValue
<= 105)
Por esto >> ((e.KeyValue
>= 65 And e.KeyValue
<= 90)
Además ya no es nescesaria la comprobación del Tab y del Shift.
Código:
If Not((e.KeyValue >= 65 And e.KeyValue <= 90)OrElse (e.KeyValue >= 37 And e.KeyValue <= 40) OrElse (e.KeyValue = 192) OrElse (e.KeyValue = 8 OrElse e.KeyValue = 46)) Then e.Handled = True e.SuppressKeyPress = True EndIf
No hay comentarios:
Publicar un comentario