Inicio > VB.NET > Solo aceptar números o solo letras en un TextBox – VB.Net 2005

Solo aceptar números o solo letras en un TextBox – VB.Net 2005

septiembre 22, 2009 Deja un comentario Go to comments

Hola nuevamente, si quieres hacer que el TextBox de un formulario solo acepte letras o solo acepte números, deberias usar el evento KeyPress del TexBox en mencion, de la siguiente manera:

1.- Ir a la parte del código de tu formulario. (Solo dar click derecho a cualquier parte del formulario y elegir View Code)

ViewCode

2.- Elige el nombre de tu TexBox y luego elige el evento KeyPress.

UsodeEventos

3.- Dentro de la función creada automaticamente por Visual Basic inserta el siguiente codigo según tus requerimientos.

Aceptar Solo Números

SoloNumeros

Aceptar Solo Letras

SoloLetras

Y listo, aquí en modo texto para copiarlo:

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

  1. Angelo
    octubre 24, 2009 a las 5:29 am

    agradecido ;D
    me sirvio para un trabajo de la universidad

  2. noviembre 21, 2009 a las 5:06 pm

    muy buen aporte gracias

  3. Jesus
    diciembre 18, 2009 a las 6:07 am

    Hola como estas veo que esto es interesante pero como le hago para que solo me acepte puras minusculas me podrias ayudar

  4. diciembre 18, 2009 a las 1:53 pm

    Hola Jesus, tu quieres que se conviernta a minusculas todo lo que escriban en un texbox o quieres que tajantemente el usuario tenga que escribir en minusculas?

  5. diciembre 18, 2009 a las 2:01 pm

    Al escribir sobre este texto, este cambiara a mayúsculas o minúsculas automáticamente.

    Mayúsculas:
    TextBox1.Text = UCase(TextBox1.Text)

    MinÚsculas:
    TextBox1.Text = LCase(TextBox1.Text)

  6. Jaimito
    marzo 14, 2010 a las 7:35 pm

    como hacer que el textbox al escribir ingrese mayusculas solamente

  7. marzo 14, 2010 a las 11:52 pm

    Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim CadenaTemporal as String

    CadenaTemporal = Chr(KeyAscii)
    KeyAscii = Asc(UCase(CadenaTemporal))
    End Sub

  8. jhony bravo
    abril 14, 2010 a las 9:40 am

    muy bueno me fue de gran ayuda grax

  9. Jorge
    octubre 21, 2010 a las 3:26 pm

    Hola buen dia! EL problema es el siguiente! Como hacer que un textbox solo acepte letras y espacios! Ejemplo; «José Manuel» ah por cierto que ecepte acentos.
    Actualmente tengo lo siguiente:
    private void txbApMat_KeyPress(object sender, KeyPressEventArgs e)
    {
    if ((e.KeyChar >= 65 && e.KeyChar = 97 && e.KeyChar <= 122) || e.KeyChar == 8 || e.KeyChar == 'ñ' || e.KeyChar == 'Ñ')
    {
    e.Handled = false;
    }
    else
    {
    this.errorProvider1.SetError(txbApMat, "Favor de capturar su Apellido Materno con letras");
    e.Handled = true;
    }
    }
    Si valida que sean solo letras pero pss no me deja poner espacios ni acentos!

    • septiembre 20, 2014 a las 12:38 pm

      Hola buen dia! Para que puedsas hacer que un textbox solo acepte letras y espacios! Ejemplo; “José Manuel” ah por cierto que ecepte acentos.
      Actualmente tengo lo siguiente:
      Private Sub txtNombres_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNombres.TextChanged
      txtNombres.Text = StrConv(txtNombres.Text, vbProperCase) ‘ convierte la primera letra a mayuscula
      txtNombres.SelectionStart = Len(txtNombres.Text)
      txtNombres.Text = LTrim(Replace(txtNombres.Text, ” “, ” “)) ‘no acepta espacios en blanco al inicio y solo un espacio entre palabras
      txtNombres.SelectionStart = Len(txtNombres.Text)
      End Sub

  10. K-tracho
    enero 2, 2011 a las 10:48 pm

    Gran Aporte…me funciono a la perfección GRACIAS.

  11. Miguel
    agosto 9, 2011 a las 8:35 pm

    Como le hago para que me acepte numeros y letras??? Quiero que me deje escribir numeros y letras pero que no me deje escribir algun otro caracter

    • Miguel
      agosto 9, 2011 a las 8:44 pm

      Respuesta:

      Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
      ‘Acepta numeros y letras…
      If Not Char.IsLetterOrDigit( e.KeyChar ) And e.KeyChar vbBack Then
      e.Handled = True
      End If

      End Sub

      • martha
        junio 19, 2014 a las 5:27 pm

        Este codigo me da este error
        El operador And no esta definido para los tipos Boolean y Char

    • agosto 10, 2011 a las 2:00 am

      Chicos alguna sugerencia para la consulta?? Esperamos su colaboracin.

      El 09/08/11,

  12. Jn
    febrero 14, 2012 a las 2:07 pm

    Hola que tal me gustaria saber como puedo ingresar solo numero pero que acepte puntos y coma

    • marzo 13, 2012 a las 2:21 pm

      Puedes probar esto?

      PrivateSub TextBox1_KeyPress(ByVal sender AsObject, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress Dim cadena AsString cadena = «1234567890;.,» If InStr(cadena, LCase(e.KeyChar), CompareMethod.Text) = 0 Then e.KeyChar = Nothing EndIf EndSub

      //Nen el evento keypress del la caja de texto q quieras validar, lo encontr en este foro mralo http://www.foro.vb-mundo.com/f25/textbox-letras-punto-y-coma-13435/

      Me avisas si te funcion?

      Saludos, Andy

  13. Cristian Rodriguez
    agosto 24, 2012 a las 6:24 pm

    Hola y como le hago para que me de formato de nmbre, es decir que si se ingresa en mayusculas o minusculas, automaticamente me ponga la primeraletra en mayusculas y lo siguiente en minusculas. Ejemplo:

    que se ingrese asi «hola amigos»
    y me arroje esto «Hola Amigos»

  14. hermes
    septiembre 27, 2012 a las 8:11 pm

    hola me gustaria mucho saber como puedo hacer para que el textbox solo acepte los caracteres «A», «E», «I», «V», «X» y para el caso de que «acepte solo numeros» pueda aceptarme la «X» tambien aparte de los numeros… agradeceria mucho me pudieras ayudar con este problema que tngo, saludos

  15. marzo 1, 2013 a las 2:21 am

    excellent points altogether, you simply gained a new reader.
    What might you suggest about your submit that you just made some days ago?
    Any sure?

  16. francisco
    marzo 6, 2013 a las 2:03 pm

    Estos Codigos son compatibles con Visual Basic 2010 ??

    • marzo 6, 2013 a las 2:05 pm

      Yo creo que si

      Saludos, Ing. Andy Santiago Gonzles del Valle, ITIL, COBIT Consultor en TI Movistar: 996-599517 – RPM: #608976 Claro (RPC): 980-530523

  17. francisco
    marzo 6, 2013 a las 7:35 pm

    y como podria limitar un textbox para que solo pueda tener numeros enteros del 0 al 9 para un rut, tengo el DV separado en otro textbox y lo tengo validado, solo me falta limitar el textbox del rut para que solo puedan introducir numeros del 0 al 9, en visual basic 2010 … favor tu ayuda . gracias (:

  18. lula
    marzo 31, 2013 a las 12:29 am

    hola una pregutna quiero saber como hago si quiero que el textbox me lea numeros y letras cuando le hago click . tengo 2 checkbox el primero es de numero y el segundo solo letras y cuando le hago click a los dos deben de dejame escribir en msi textbox letras y numero me podrias ayudar con lso codigos por favor.

  19. Carolina
    May 2, 2013 a las 7:11 pm

    MUCHAS GRACIAS ME SIRVIO

  20. will
    May 5, 2013 a las 8:25 pm

    Hola como seria para q no me aceptara decimales?

  21. junio 4, 2013 a las 9:24 pm

    Como hago par que me deje entrar sólo numeros más la letra K en c#

  22. zayitara
    agosto 21, 2013 a las 2:34 am

    hola, como puedo hacerle para que mi textbox4 acepte espacio entre cada nombre???, es decir «JUAN MANUEL», por que con la validación que coloque me limita solo al primer nombre, :
    Private Sub TextBox4_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
    ‘VALIDACION PARA QUE SOLO SEAN LETRAS
    If Char.IsLetter(e.KeyChar) Then
    e.Handled = False

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

    End If

    End Sub

    gracias

  23. zayitara
    agosto 21, 2013 a las 2:35 am

    hola, como puedo hacerle para que mi textbox4 acepte espacio entre cada nombre???, es decir “JUAN MANUEL”, por que con la validación que coloque me limita solo al primer nombre, :
    Private Sub TextBox4_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
    ‘VALIDACION PARA QUE SOLO SEAN LETRAS
    If Char.IsLetter(e.KeyChar) Then
    e.Handled = False

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

    End If

    End Sub

    gracias

  24. Josue Honduras
    agosto 25, 2013 a las 8:41 pm

    Hola para que deje solo letras y espacio unicamente hay que agregar el Char.IsSeparator(e.KeyChar) que lee si es la barra de espacio el codigo quedaria asi:

    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

    espero les sirva, saludos y bendiciones.

  25. kevinvice12
    septiembre 23, 2013 a las 7:02 pm

    Tengo una pregunta.. Estoy haciendo un programa en el cual deseo crear una busqueda pero la busqueda se basa en un textbox y una area determinada la cual el usuario lo decidira dependiendo de su busqueda.. Como hago para que el textbox funcione en busqueda con el area determinada la cual esta en un comboBox.. Ayuda??

  26. Israel
    septiembre 27, 2013 a las 9:09 pm

    Hola

    Este código funciona igual en visual studio 2010 y 2012??

  27. octubre 24, 2013 a las 8:27 pm

    hola y como puedo hacer para que este código me mande un mensaje de error al escribir una letra en el texbox de números y así mismo si escribo un numero en el texbox de letras.
    Private Sub textbox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Char.IsDigit(e.KeyChar) Then
    e.Handled = False
    ElseIf Char.IsControl(e.KeyChar) Then
    e.Handled = False
    Else
    e.Handled = True
    End If

    End Sub

    Private Sub textbox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
    If Char.IsLetter(e.KeyChar) Then
    e.Handled = False
    ElseIf Char.IsControl(e.KeyChar) Then
    e.Handled = False
    Else
    e.Handled = True
    End If
    If e.Handled = False Then
    End If
    End Sub

    End Class

  28. alina
    octubre 30, 2013 a las 4:06 pm

    muy bueno me sirvio de mucho esta genial

  29. Renzo
    abril 3, 2014 a las 6:48 pm

    Increíble. Le adicioné un par de modificaciones para que además me verifique (Dentro de la función que valida números) que se use el punto como símbolo decimal y que además no se repita.
    Muchas gracias.

  30. abril 20, 2014 a las 8:10 pm

    una consulta se puede hacer para que acepta solo numero y solo 1 letra en especifico ejemplo 123456789k

  31. septiembre 20, 2014 a las 12:27 pm

    Hola buen dia! Para que puedsas hacer que un textbox solo acepte letras y espacios! Ejemplo; “José Manuel” ah por cierto que ecepte acentos.
    Actualmente tengo lo siguiente:

    Private Sub txtNombres_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNombres.TextChanged

    txtNombres.Text = StrConv(txtNombres.Text, vbProperCase) ‘ convierte la primera letra a mayuscula
    txtNombres.SelectionStart = Len(txtNombres.Text)

    txtNombres.Text = LTrim(Replace(txtNombres.Text, » «, » «)) ‘no acepta espacios en blanco al inicio y solo un espacio entre palabras
    txtNombres.SelectionStart = Len(txtNombres.Text)

    End Sub

    • ernesto
      septiembre 25, 2014 a las 2:50 am

      Gabriela Zapata pasame tu mail

  32. junio 2, 2015 a las 4:56 pm

    PUEDEN ENVIARME ESTA VALIDACION PERO PARA JAVA ECLIPSE VALIDANDO EL TEXTBOX

  33. noviembre 19, 2015 a las 3:45 pm

    Muy buen aporte, por fin un colaborador que es practico y sencillo.

  34. David Fuentes Benites
    noviembre 19, 2015 a las 4:59 pm

    muchas gracias 🙂

  35. luisa
    abril 25, 2016 a las 5:39 pm

    Porque se me cancela automaticamente el visual basic para mi laptop con windows 6

    • luisa
      abril 25, 2016 a las 5:39 pm

      Perdon con windows 10

  36. Noé Manzanares
    agosto 30, 2016 a las 3:13 pm

    Gracias muy util

  37. abril 8, 2017 a las 3:21 pm

    Yоu’re so cool! I do not think I’ve truly read a single thing like that before.
    So nice to find somebody with some genuine thoughts on this topic.
    Seriously.. many thanks for starting this up. Thіs web site is somᥱthing that is required on the
    web, someone with a little originality!

  38. junio 2, 2017 a las 3:51 pm

    If you wish for to take a great deal from tthis paragraph then you have
    to apply such techniques to your won weblog.

  39. Alejandra R.
    junio 14, 2017 a las 3:06 am

    Private Sub TextBox6_KeyPress(ByVal CajaTexto As System.Windows.Forms.TextBox, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
    If Char.IsDigit(e.KeyChar) Then
    e.Handled = False
    ElseIf Char.IsControl(e.KeyChar) Then
    e.Handled = False
    ElseIf e.KeyChar = «.» And Not CajaTexto.Text.IndexOf(«.») Then
    e.Handled = True
    ElseIf e.KeyChar = «.» Then
    e.Handled = False
    Else
    e.Handled = True
    End If

  40. Alejandra R.
    junio 14, 2017 a las 3:08 am

    TextBox8.Text = Val(TextBox8.Text).ToString(«###.#.###»)

  41. Alejandra R.
    junio 14, 2017 a las 3:14 am

    If TextBox4.Text = «0» And TextBox5.Text = «0» And TextBox6.Text = «0» Or TextBox7.Text = «0» Or RadioButton1.Enabled = False And RadioButton2.Enabled = False And RadioButton3.Enabled = False Then
    MessageBox.Show(«No se puede realizar la operación. Faltan datos o no ha seleccionado alguna operación», «Falló operación», MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    End If

  42. junio 28, 2017 a las 6:44 am

    Estaba buscando esa informacion hace duración, te lo agradezco, estoy
    de pacto con tu punto de vista y forraje igual.
    Despues de buscar mucho por Internet encontre lo
    que buscaba. Genial!!! muchas gracias

  43. julio 18, 2017 a las 3:38 am

    I think everything said was very logical. However, consider this, suppose you were to
    write a awesome headline? I ain’t saying your content is not solid, however
    what if you added a post title that grabbed folk’s attention? I mean Solo aceptar números
    o solo letras en un TextBox – VB.Net 2005 | Relaciones Informáticas is kinda boring.
    You might peek at Yahoo’s home page and watch how they create news titles to get viewers to open the links.
    You might add a video or a related picture or two
    to get people interested about everything’ve got to
    say. Just my opinion, it could make your website
    a little livelier.

  44. agosto 30, 2017 a las 11:39 pm

    כבר מעל לעשור רנקום קריאייטיב נחשבת לחברה מובילה בעולם
    הפרסום הדיגיטלי.

    נוסדנו בשנת 2003, החברה היחידה המספקת את כל שירותי המדיה והאינטרנט במקום אחד:

    בניית אתרים ופיתוח אפליקציות, קידום אתרים, שיווק ופרסום, עיצוב גרפי ופתרונות מחשוב.

    צוות החברה הינו בעל רזומה עשיר
    ומקצועי. הצוות כולל מעצבים ואנשי ארט, מפתחים, טכנאים, אנשי שיווק ומומחים של קידום
    אתרים מקצועי שעובד.

    צוות זה עובד בסינרגיה מושלמת במטרה אחת: לבנות
    ולתחזק ללקוחותינו את כל מערך הפרסום הדיגיטלי,
    לבדל אותו ממתחריו, ולייצר לו ערך מתמשך והחזר השקעה מקסימלי.

    חברה לבניית אתרים, בניית
    אתרים בחיפה, בניית אתרים בקריות, מעצב גרפי בחיפה, מעצב גרפי בקריות, עיצוב גרפי בחיפה, עיצוב גרפי
    בקריות

  45. noviembre 26, 2017 a las 3:17 am

    Everything is very open with a really clear clarikfication of the challenges.
    It was really informative.
    Your site is very useful. Thanks for sharing!

  46. diciembre 8, 2017 a las 9:25 pm

    I got this site from my buddy who shared with me on the topic of this site and
    now this time I am browsing this site and reading very informative articles at this place.

  47. marzo 16, 2018 a las 6:22 pm

    Hi to every one, as I am truly keen of reading this weblog’s post
    to be updated daily. It carries pleasant information.

  48. Carlos Godoy
    marzo 29, 2018 a las 8:34 pm

    Muchas gracias por el aporte

  49. abril 10, 2018 a las 1:17 am

    As the admin of this website is working, no doubt very shortly it will be renowned, due to its feature contents.

  50. junio 3, 2018 a las 3:41 pm

    I am sure this write-up has touched all the internet viewers, its
    really really pleasant post on building up new website.

  51. agosto 28, 2018 a las 10:13 am

    Quality posts is the key to concentrate the visitolrs to pay a quick visit
    the page, that’s what thks website is providing.

  52. septiembre 21, 2018 a las 10:30 pm

    Hi I am so happy I found your web site, I really found
    you by error, while I was looking on Bing for something else,
    Regardless I am here now and would just like to say many thanks for a incredible post and a all round enjoyable blog (I also love the theme/design), I don’t have time to read through it all at the
    minute but I have bookmarked it and also included your RSS feeds, so when I have time I
    will be back to read a lot more, Please do keep up the superb job.

  53. JOHANA
    octubre 10, 2018 a las 4:13 pm

    COMO HACER QUE MI TEXTBOX ACEPTE SOLO NUMEROS

  54. noviembre 15, 2018 a las 7:35 am

    If you are going for finest contents like myself,
    simply pay a quick visit this web page daily as it provides quality contents,
    thanks

  55. enero 23, 2019 a las 11:49 pm

    Wonderful beat ! I woulⅾ choose tо apprentice ѡhile y᧐u amend
    your web site, hoow copuld і subscribe foor a blog
    website? Тhe account aidesd me a acceptable deal. І haⅾ beеn tiny Ƅit acquainted of this
    yօur bdoadcast pгovided bright ϲlear concept

  56. marzo 15, 2019 a las 12:45 am

    Simply want to say your article is as amazing.

    The clarity on your put up is simply cool and i could suppose you are knowledgeable in this
    subject. Well together with your permission allow me to grab
    your feed to keep updated with coming near near post.
    Thank you a million and please keep up the enjoyable work.

  57. marzo 25, 2020 a las 1:43 pm

    La fissure anale peut être observée en cette occasion.

  58. Yenier Venegas
    noviembre 8, 2020 a las 6:23 pm

    Vi este video y me funcionó a las mil maravillas, en la descripción comparten el código: https://www.youtube.com/watch?v=ATDyPCUVtHU

  59. Pablo Dante
    julio 2, 2021 a las 4:49 pm

    Buen día
    Necesitaría resolver lo siguiente…
    Si con este código:

    «If Char.IsDigit(e.KeyChar) Then
    e.Handled = False
    ElseIf Char.IsControl(e.KeyChar) Then
    e.Handled = False
    Else
    e.Handled = True
    End If»
    … solo imprimo números; cómo puedo (en la misma rutina), excluir un solo número.!??

    Digo solo imprimo o ingreso del 1 al 9 pero que no permita ingresar el 5, por ejemplo.
    Sé que hay que hacerlos antes del «e.Handled = True». Prove varias formas y no encuentro como resolverlo. Si alguien puede darme una mano lo agradecería.
    Un saludos cordial.

  60. Marbella
    febrero 15, 2024 a las 12:57 am

    Visual basic 2014 se puede ?

  1. septiembre 4, 2014 a las 1:36 pm
  2. septiembre 19, 2014 a las 8:18 pm
  3. octubre 1, 2014 a las 9:09 am
  4. octubre 17, 2014 a las 5:13 pm
  5. octubre 18, 2014 a las 9:02 am
  6. octubre 19, 2014 a las 7:50 am
  7. octubre 21, 2014 a las 9:05 am
  8. octubre 22, 2014 a las 9:04 am
  9. abril 30, 2015 a las 10:48 pm
  10. enero 21, 2016 a las 7:46 am
  11. marzo 10, 2016 a las 8:44 pm
  12. abril 3, 2016 a las 3:54 am
  13. abril 24, 2016 a las 2:52 am
  14. May 6, 2016 a las 10:33 am
  15. May 12, 2016 a las 8:10 pm
  16. May 22, 2016 a las 10:51 am
  17. May 23, 2016 a las 5:52 am
  18. May 31, 2016 a las 7:49 am
  19. junio 1, 2016 a las 10:33 am
  20. junio 5, 2016 a las 9:41 am
  21. agosto 17, 2016 a las 11:34 pm
  22. agosto 24, 2016 a las 7:49 am
  23. diciembre 16, 2016 a las 1:03 pm
  24. enero 15, 2017 a las 11:27 am
  25. abril 17, 2017 a las 10:51 am
  26. junio 6, 2017 a las 6:34 pm
  27. junio 7, 2017 a las 11:01 am
  28. julio 18, 2017 a las 3:32 am
  29. agosto 12, 2018 a las 12:03 am
  30. octubre 26, 2018 a las 2:23 pm
  31. marzo 27, 2021 a las 4:26 pm
  32. marzo 28, 2021 a las 3:02 am
  33. abril 5, 2021 a las 11:03 am

Replica a Andy Cancelar la respuesta