Truco: Solo letras en los TexTbox (Windows Forms) – VB y CSharp

24 01 2008

Hay ocaciones que en nuestras aplicaciones debemos controlar lo que el USUARIO deberia escribir en los TextBox… recuerden que esas personitas son experto para hacer que nuestras aplicaciones den un error y mas en los campos que solo debe ir TEXTO en ves de numero… por ello aqui les dejo este pequeño truquillo.

Por cierto para que funcione deben codificar el evento KeyPress del TextBox.

En Visual Basic:

Private Sub txtPruebaTexto_KeyPress(ByVal sender As Object, _
                              ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                              Handles txtPruebaTexto.KeyPress

    If Char.IsLetter(e.KeyChar) Then
        e.Handled = False
    ElseIf Char.IsControl(e.KeyChar) Then
        e.Handled = False
    ElseIf Char.IsSeparator(e.KeyChar) Then
        e.Handled = False
    Else
        e.Handled = True
    End If
End Sub

En Visual C#:

private void txtPruebaTexto_KeyPress(object sender, KeyPressEventArgs e)
       {
           if (Char.IsLetter(e.KeyChar))
           {
               e.Handled = false;
           }
           else if (Char.IsControl(e.KeyChar))
           {
               e.Handled = false;
           }
           else if (Char.IsSeparator(e.KeyChar))
           {
               e.Handled = false;
           }
           else
           {
               e.Handled = true;
           }
       }

Acciones

Información

34 respuestas

24 01 2008
Truco: Solo Numeros en los Textboxt (Windows Forms) - VB y CSharp « Alexander Jiménez

[...] diferencia entre este codigo para solo numero con el de solo texto (que tambien esta publicado aqui) es que solo cambia en el comando de IsLetter por [...]

25 02 2008
paula

hola muchas gracias por publicar este procedimiento. soy nueva programadora en visual basic 6 cliente/servidor y realmente me cuesta encontrar respuesta en la web…

25 02 2008
Alexander Jiménez

de nada Paula estoy para serviles…

9 05 2008
Francisco Javier

Soy estudiante de Ing. en Sistemas y te estoy muy agradecido por tu pagina, me ha servido muchisimo, no sabes como estaba buscando una ayuda asì porque tenia un programita de tarea que necesitaba protejer para que el usuario no introdujera numeros o caracteres donde no debìa.Muchas gracias y espero que sigas mostrando mas trucos que son de tanta ayuda.

12 05 2008
Alexander Jiménez

Hola Francisco Javier: no debes agradecerme nada… :) la idea de esos trucos y del resto de los articulos es para aprender aun mas sobre lo ultimo en Tecnologia y en codigo :) me alegra que te alla sido de mucha utilidad y ten por seguro que habran mas trucos como este publicados aqui :)

Saludos,

Alexander Jimenez
Blog: http://alexjimenez.wordpress.com
Web: http://alexjimenez.info

10 06 2008
jesus

gracias por el aporte, me fue de mucha ayuda..

algun codigo para validar los numeros de serie???

19 06 2008
fierr0man

grande maestro, queria lo mismo pero para numeros, excelente aporte, Gracias!!!!

20 06 2008
JOSE LUIS

COMO PUEDO CREAR REPORTES DE TODO UNA TABLA DE ALUMNOS Q TENGO EN REPORTVIEWER MEDIANTE CODIGO FUENTE MAN AYUDAME PS PORFA JOSE LUIS

8 08 2008
José Luis González

Y no pueden clocar, si se puede, con Visual C++?Gracias

3 09 2008
Omar Olivas

Hola Alexander soy estudiante de ingenieria quisiera saber si enun textbox se pudiera encontrar algo referente a aceptar un solo punto. Esto es debido a que en un textbox la maestra me puso una serie de puntos ………. asi y el programa marco error al querer sumar puntos con digitos.

12 09 2008
Aero

buenas buenas
gracias por el truquito man
sigue publicando cosas asi
Yo apenas estoy entrando en el mundo de csharp y la verdad estoy maravillado (:

28 10 2008
luis

hola son buenos todos lo comentario asi que no qda mas que decir que
Buenisimo.
necesito que alguien me ayude, yo soy nuevo en programacion visual studio 2008, y necesito hacer una aplicacion tipo ventana con botones texbox y txt

25 11 2008
melchor mexico

y para kuando lo kieras ke solo acepte numeros?????

`pss aki taaaa..

If Char.IsNumber(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If

26 11 2008
serge

Tengo una duda,
estoy programando una pagina en asp.net con codigo en c#; y he colocado un taxtbox al que quiero que solo acepte letras,
el problema es que no se como acceder al evento key_press,
el unico evento que puedo encontrar es el de textboxChanged,
me podrias ayudar? soy principiante
Gracias

17 12 2008
Enrique

Que tal Alex, oye mi buen tengo un problemilla al querer conectarme desde el programa de Visual Basic 2005 a la base de datos que diseñe en el Sql Server me manda este mensaje : “Al conectar a SQL Server 2005, el error se puede producir porque la configuración predeterminada de SQL Server no admite conexiones remotas. (provider: Proveedor de canalizaciones con nombre, error: 0 – No hay ningún proceso en el otro extremo de la canalización.)”, hace un par de dias estaba trabajando bien y ahora ya no que pudo haber pasado y sobre todo como puedo resolver este pinky error…

Muchas gracias EXCELENTE FORO

17 12 2008
Alexander Jiménez

Gracias a todos por visitar mi blog… perdonen si me he tardado en responder he estado algo lejano del internet :(

Enrique:
Has probado con cambiar la cadena de conexión

Te explico:
Por lo general ese error surge cuando estas intentando hacer una resolución de nombre, es decir, en ves de llamarlo (local)\SQLExpress ó .\SQLExpress lo estarías llamando MiNOMBREPC\SQLExpress por lo que el intenta buscar dentro de la red ese servidor así sea tu propia maquina.

Formas de Resolverlo:
1. Cambia el nombre del servidor en tu cadena de conexión es decir en ves de usar el nombre de la maquina podrías utilizar esta frase (LOCAL) ya que hará referencia a la maquina donde corre tu aplicación
2. Ir al Configurador de Superficie de SQL Server 2005 y habilitar las canalizaciones de conexiones remotas sea por nombre o por IP y por que no pueden ser ambas.

Por lo general eso es lo que he hecho cuando me surgen esos errores quizás exista una mejor forma pero aun no la conozco

Saludos,

Alexander Jimenez
Blog:
http://alexjimenez.wordpress.com

19 12 2008
Denise

Hola alexander tengo la misma duda que Enrique espero y me puedas ayudar…

Tengo una duda,
estoy programando una pagina en asp.net con codigo en c#; y he colocado un taxtbox(solo acepta numeros, lo hice con un script) cada que el usuario teclee un numero se hagan automaticamente una serie de operaciones con los numeros que este pulsando.

el problema es que no se como acceder al evento key_press,
el unico evento que puedo encontrar es el de textboxChanged,
me podrias ayudar? soy principiante
Gracias

30 01 2009
orodriguez

Alex.

Muchas gracias por el ejemplo en C# de captura me fue de mucha ayuda!!

11 02 2009
luis

oye me podrias ayudar a ver como se hace para filtrar un datagrid ejemplo: si tengo panama cuba colombia mejico USA canada como campo y cada uno de estos campo tengan tres ciudades diferentes
registradas en el datagrid lo que yo quisiera es consultar solo las de un pais en un combobox si pongo panama en el combobox solo quiero que me aparesca las ciudades de panama en el datagrid. gracias

4 03 2009
LUIS

para todos los programdores de VB.NET este es mi coreo ilepilep@hotmail.com para intercambiar informacion

4 03 2009
LUIS

lO QUE QUIERE HACER ES UNA CONSULTA ESPECIFICA ? YO TENGO CODIGO QUE TE PODRIA AYUDAR SI QUIERES ME AGREGAS AL MESSEGER PARA HABLAR DEL TEMA Y ASI NOS AYUDAMOS MUTUAMENTE YA QUE YO TAMBIEN TENGO UNA DUDAS
ilepilep@hotmail.com

4 03 2009
LUIS

Private Sub TextClave_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextClave.KeyPress

If Char.IsLetter(e.KeyChar) Then
e.Handled = True
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = True
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = True
Else
e.Handled = False
End If

End Sub

DE ESTA MANERA NO DEJA QUE INGRESESE LETRAS JAJA PERO EL DETALLE ESQ PERMITE INGRESAR SIMBOLOS COMO (+ – ; / ?) ETC..

9 03 2009
elvic

Hola Alex, estaria de lujo si publicaras estas validaciones pero para aplicaciones tipo web, ya que los eventos son diferentes a las de tipo windows. De antemano te agradezco la aportacion. Saludos cordiales.

9 03 2009
elvic

A las validaciones que me refiero en mi mensaje anterior, son a las de solo aceptar valores numericos en un texbox en una aplicacion tipo web para C#. Ya que en este tipo de aplicacion solo contamos con el evento TextChanged y no se cuenta con un KeyPress, y es ahi en donde se presentan los problemas, personalmente hablando. Gracias por tus muy buenas aportaciones.

Saludos…………

5 04 2009
Luismiguel

he perdon pero alguien me puede decir como hago que un texybox no acepte mas de 6 valores osea dentro !! que no pase de 6 letras oh numero sin codigos!!!

5 04 2009
Luismiguel

ha es ne C#.net solo tengo 16 años y ya me estan dando los examenes de la microsoft ^.^

14 04 2009
maribel

hola me podrias colaborar con la configuracion de una barra de harramientas en visual scharp no se como lograr que cuando le de clik al boton nuevo me llame una nuevo formulario en la aplicacion,

gracias

11 06 2009
Vanessa Pedraza

Hola, me llamo Vanessa. Tengo una duda,
estoy programando una pagina en asp.net con codigo en c#; y he colocado un textbox al que quiero que cuando aprete o teclee ENTER realize una búsqueda.

El problema es que C# en ASP .Net el unico evento que puedo encontrar es el de textbox1_TextChanged, no existe el Textbox1_keyPress, por lo que algunas funciones o metodos están limitados para este evento textbox1_TextChanged.

me podrias ayudar a saber como cuando pulse la tecla ENTER mi textbox haga la búsqueda? Es soy principiante, Gracias… y calificame en mi página, porfis…

12 07 2009
figo

quisinera saber cuando se usa un evente y para q se usa
quisisera q me mansdes truquitos esq mi profe es muy tranq
figo_1986_12@hotmail.com

12 07 2009
figo

porfa quisiera q me mandes unos manuales pero q sean precisos y rapidos
para aprender porfavor soy el mismo figo
quisiera mejorar en visual vasic.net

12 07 2009
figo

necesito ayuda
:
quisiera saver como relacionar un control con un eevento
quisinera saber cuando se usa un evente y para q se usa
quisisera q me mansdes truquitos esq mi profe es muy tranq
mandame unos manual por fa

figo_1986_12@hotmail.com

16 07 2009
Joehit

Ofi compa me sirvio mas que bien
Saludos desde Panama

2 11 2009
Joseph

hola, escribo para agradeer por estas ayudas y por darnos a conocer algunas cosas que no comprendemos. :-)

3 11 2009
Cesar

hola no te inmaginas las gracias que te doy por ese truco, sabes busque y busque por toda la web y los codigo como que no los dan del todo bien y no sabia q hacer de verdad gracias

Deja un comentario