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


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;
           }
       }
Anuncios

59 comentarios el “Truco: Solo letras en los TexTbox (Windows Forms) – VB y CSharp

  1. hola, para lo que se le complican con el tema de ingresos de dato no aceptados al usuario, utilizen como codigo expresiones regulares, en internet ahy muchas y las pueden armar en funcion a lo que deseen que el usuario no ingrese, exiten pagina que puedes probar esa expresiones regulares en online que pueden probar si la armaron bien y para el caso de c# validen esa expresiones con la herramienta errorprovider. de esa forma ustede evitaran que se realizen acciones de almacenado o lo que sea con ingresos no aceptable a su programacion.
    espero que le haya servido

  2. gracias amigo sos una buena persona al publicar estos codigos que a muchos que estan empezando a programar como yo es de gran ayuda por eso mil gracias….

  3. GRACIAS DE VERDAD NO PODIA ENCONTRAR EL CODIGO PARA LIMITAR SOLO LETRAS O NUMEROS, BENDITOS FOROS Y PARA Q SOLO ESCRIBA NUMEROS SOLO CAMBIA (LETTER A NUMER) GRAX.

  4. missy adela :hola soy estudiante en el cecytem y voy en cuarto semestre la verdad estoy empezando en este programa y te doy las gracias por tu pagina la verdad ia le estoy empezandoa entender jajaja

  5. hola soy estudiante en el cecytem y voy en cuartol semestre la verdad estoy empezando en este programa y te doy las gracias por tu pagina la verdad ia le estoy empezandoa entender jajaja

  6. Soy programador,
    gracias me sirvio para ahorar tiempo,

    llege hasta tu blog porque comence a explorar el mundo hacking(sql-inyection), y encontre un error gravisimo en mi software y tu codigo lo soluciono. bye

    pd: el que necesite ayuda me informa y lo ayudare.

  7. Pingback: Los números de 2010 « Alex Jiménez

  8. buenas alex soy estudiante de informatica y tengo una duda con respectoa visual basic 2008 necesito saber como hago para pasar de un textbox a otro textbox usando el teclado. espero me ayudes

  9. chevere tu web…!!!!!
    Nose si pudieras enviarme algunos Manuales de C Sharp y si tubieras tu propio manual de trucos de este lenguaje te estaria muy agradecido

  10. Genial tu codigo, ahorita estoy haciendo sofware me sirvio de gran ayuda lo de mi erea lo contrario,
    que escribe solo numero y no letras gracias estoy mil acradecido con ud
    attt Cusco-Peru
    te saludo Machupichu

  11. buena pagina y felicitaciones amigo por el aporte pero una pregunta como hago para que me vote un mensaje para que al usuario se pa que esta tecleando una letra y no un numero.

  12. 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

  13. 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

  14. 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…

  15. 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

  16. 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!!!

  17. 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…………

  18. 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.

  19. 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..

  20. 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

  21. 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

  22. 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:
    https://alexjimenez.wordpress.com

  23. 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

  24. 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

  25. 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. 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

  27. 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.

  28. 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.

  29. 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…

  30. Pingback: Truco: Solo Numeros en los Textboxt (Windows Forms) - VB y CSharp « Alexander Jiménez

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s