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
    mayo 2, 2013 a las 7:11 pm

    MUCHAS GRACIAS ME SIRVIO

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

  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. mayo 6, 2016 a las 10:33 am
  15. mayo 12, 2016 a las 8:10 pm
  16. mayo 22, 2016 a las 10:51 am
  17. mayo 23, 2016 a las 5:52 am
  18. mayo 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

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

A %d blogueros les gusta esto: