Inicio > .net, Codigos VB y CSharp, Todas las Categorias, Visual Basic 2005, Visual C# 2005 > Truco: Solo letras en los TexTbox (Windows Forms) – VB y CSharp

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;
           }
       }
  1. paula
    25 febrero 2008 a las 6:01 PM | #1

    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…

  2. 25 febrero 2008 a las 7:12 PM | #2

    de nada Paula estoy para serviles…

  3. Francisco Javier
    9 mayo 2008 a las 10:53 PM | #3

    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.

  4. 12 mayo 2008 a las 3:32 PM | #4

    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

  5. jesus
    10 junio 2008 a las 2:52 PM | #5

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

    algun codigo para validar los numeros de serie???

  6. fierr0man
    19 junio 2008 a las 1:09 AM | #6

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

  7. 20 junio 2008 a las 5:00 PM | #7

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

  8. José Luis González
    8 agosto 2008 a las 5:25 PM | #8

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

  9. Omar Olivas
    3 septiembre 2008 a las 9:58 PM | #9

    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.

  10. Aero
    12 septiembre 2008 a las 2:55 AM | #10

    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 (:

  11. luis
    28 octubre 2008 a las 12:38 PM | #11

    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

  12. melchor mexico
    25 noviembre 2008 a las 8:21 AM | #12

    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

  13. serge
    26 noviembre 2008 a las 3:15 PM | #13

    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

  14. Enrique
    17 diciembre 2008 a las 2:12 PM | #14

    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

  15. 17 diciembre 2008 a las 2:26 PM | #15

    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

  16. Denise
    19 diciembre 2008 a las 12:14 PM | #16

    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

  17. orodriguez
    30 enero 2009 a las 1:42 PM | #17

    Alex.

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

  18. 11 febrero 2009 a las 11:13 AM | #18

    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

  19. LUIS
    4 marzo 2009 a las 12:29 PM | #19

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

  20. LUIS
    4 marzo 2009 a las 12:33 PM | #20

    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

  21. LUIS
    4 marzo 2009 a las 12:51 PM | #21

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

  22. elvic
    9 marzo 2009 a las 5:29 PM | #22

    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.

  23. elvic
    9 marzo 2009 a las 5:44 PM | #23

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

  24. Luismiguel
    5 abril 2009 a las 12:38 AM | #24

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

  25. Luismiguel
    5 abril 2009 a las 12:39 AM | #25

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

  26. maribel
    14 abril 2009 a las 6:58 PM | #26

    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

  27. 11 junio 2009 a las 12:27 PM | #27

    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…

  28. figo
    12 julio 2009 a las 8:09 AM | #28

    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

  29. figo
    12 julio 2009 a las 8:11 AM | #29

    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

  30. figo
    12 julio 2009 a las 8:13 AM | #30

    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

  31. Joehit
    16 julio 2009 a las 12:35 PM | #31

    Ofi compa me sirvio mas que bien
    Saludos desde Panama

  32. Joseph
    2 noviembre 2009 a las 9:20 PM | #32

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

  33. Cesar
    3 noviembre 2009 a las 2:56 AM | #33

    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

  34. david
    13 diciembre 2009 a las 11:50 AM | #34

    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.

  35. roger
    18 diciembre 2009 a las 11:55 AM | #35

    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

  36. fredy
    5 febrero 2010 a las 1:25 PM | #36

    muy bueno!! graciasssss por el aporte

  37. victor
    15 febrero 2010 a las 10:58 PM | #37

    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

  38. ialo
    6 mayo 2010 a las 10:51 AM | #38

    Te confieso que me saco de apuros y de una enorme preucupacion !!!! THEN YOU!!! BYE………

  39. omar
    13 mayo 2010 a las 3:24 PM | #39

    quisiera validar una text box, q solo entrenn letras y q se pueda retroceder y/o dejar espacios….gracias

  40. cesar
    2 junio 2010 a las 1:16 AM | #40

    men, que buen aporte, gracias me ah sido de gran utilidad jeje, gracias que sigan asi esos aportes

  41. lusin
    24 junio 2010 a las 2:10 PM | #41

    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

  42. Keyner
    16 julio 2010 a las 12:08 AM | #42

    Gracias x los códigos, me ayudaron mucho

  43. negro
    25 julio 2010 a las 3:42 PM | #43

    grax amigo, tu codigo fue de mucha ayuda…….

  44. willial
    7 octubre 2010 a las 6:23 PM | #44

    Muy bien solo que no valida los caracteres º y ª

  45. Mimi
    28 octubre 2010 a las 1:51 PM | #45

    De vdd grax esta pagina me sirvio de mucho, gracias x tus codigos, fueron de gran ayuda, salu2

  46. titania
    20 noviembre 2010 a las 7:42 PM | #46

    GRACIASSSSSSSSSSSSSSSSS…. esto era lo que estaba buscando ;)

  47. Xtal
    3 febrero 2011 a las 1:26 PM | #47

    Hola, Muy buen aporte.
    Tengo un problema: Me dice “no se ha declarado el nombre de ‘e’”
    Que hago??
    Gracias

  48. karlos
    16 febrero 2011 a las 5:00 PM | #48

    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.

  49. missy adela
    13 marzo 2011 a las 7:39 PM | #49

    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

  50. missy adela
    13 marzo 2011 a las 7:40 PM | #50

    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

  51. luxe
    13 mayo 2011 a las 2:26 PM | #51

    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.

  52. abrahan
    19 noviembre 2011 a las 1:04 AM | #52

    3 años de haberse publicado y aun es util, muchas gracias por el codigo :D

  53. diego
    24 marzo 2012 a las 1:15 PM | #53

    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

  1. 24 enero 2008 a las 12:32 PM | #1
  2. 2 enero 2011 a las 3:09 PM | #2

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 27 seguidores