Pregunta: | 41352 - COMO HAGO QUE UN TEXTBOX ACEPTE SOLO CIERTOS CARACTERES??? |
Autor: | Julio Ochoa |
En Visual Basic 6.0 bastaba con que en el evento KeyPress se le asignara cero al parametro KeyAscii para evitar que el caracter pulsado se visualizara.
En Visual Basec .NET Existe 'KeyChar' sin embarque es Read Only. Espero que alguien pueda ayudarme a resolver esto. De antemano Mil gracias. |
Respuesta: | Diego Carrillo |
Julio mira, en NET es sencillo:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 32 Or Asc(e.KeyChar) = 46 Then 'Validamos si la tecla pulsada es numerica (1,2,3,4,5,6,7,8,9,0) o enter, o barra espaciadora, o retroceso e.Handled = False 'El manejador de texto del textbox 1 permite entrar caracteres else e.Handled= True 'El manejador de texto del textbox1 no permite escrir End if End sub |
Respuesta: | Jose Luis Castillo |
bueno solo se se escribe este codigo en la caja de texto en el evento Keypress:
if asc(e.keychar) = (Aqui,pones,los,caracteres,q,no,deseas,aceptar) then msgbox(Aqui pones el mensaje q deseas q salga si se presiona el caracter no deseado) e.Handled = True 'esto se pone para q el caracter se borre end if claro q para hacerlo mas corto podrias ayudarte con un for o el poular select case. bueno espero haberte ayudado |
Respuesta: | Julio César Ochoa |
Para invalidar el efecto de las teclas precionadas en los eventos KeyPress solo debes utilizar e.Handled y asignarle el valor True.
Esto tiene la misma funcion que KeyAscii = 0 en Versiones anteriores de Visual Basic. |