SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: el_rolas en Jueves 29 de Octubre de 2009, 04:58

Título: Bloquear caracteres especiales en textbox
Publicado por: el_rolas en Jueves 29 de Octubre de 2009, 04:58
hola, estoy haciendo un formulario con unos textbox, pero quiero que se bloqueen los caracteres especiales, que simplemente cuando presionen las teclas por ejemplo _/[] no aparezca nada, esto es para no tener problemas con el llenado de mi base de datos en mysql, por favor como lo puedo hacer, estoy aprendiendo c#.
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: gerardoskype en Jueves 29 de Octubre de 2009, 06:09
if ((e.KeyChar >= 48 && e.KeyChar <= 57) || (e.KeyChar >= 97 && e.KeyChar <= 122) || (e.KeyChar >= 65 && e.KeyChar <= 90) || (e.KeyChar == 8))
                e.Handled = false;
            else
                e.Handled = true;


solo pon los caracteres que deseas que se muestren y listo.
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: el_rolas en Jueves 29 de Octubre de 2009, 07:42
muchas gracias pero el numero que esta despues del igual dentro del if, es el numero de tecla?
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: tannke en Jueves 29 de Octubre de 2009, 10:44
Los numeros son el valor ASCII de los caracteres. Saludos

Aqui hay una tabla para que puedas ver los valores:

http://www.portalplanetasedna.com.ar/ascii.htm
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: el_rolas en Jueves 29 de Octubre de 2009, 21:40
muchas gracias a los dos
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: el_rolas en Viernes 30 de Octubre de 2009, 04:41
una duda, el codigo va dentro del textbox? o dentro de que evento va? o donde va?
por favor se los agradecere mucho
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: gerardoskype en Viernes 30 de Octubre de 2009, 05:10
Mira como dice le buen amigo Tanke, es un codigo Ascii. lo cual se refiere a que al pulsar una tecla es enviada o no.
Los Tres eventos que se pueden manejar son:

* KeyPress
*KeyUp
*KeyDown

el evento que necesitas es KeyPress y sirve seleccionando el textbox y generando el evento.

prueba generandio el codigo que te puse.
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: gophlb en Viernes 30 de Octubre de 2009, 18:25
y como solucion alternativa:
que tal permitir que el usuario meta lo que quiera, pero luego eliminar tu esos caracteres cuando quiera enviarlos?
Título: Re: Bloquear caracteres especiales en textbox
Publicado por: tannke en Viernes 30 de Octubre de 2009, 22:07
con el replace:

            string A = "HOLA+..";
            A = A.Replace("+", "");

saludos