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

About these ads
  1. Angelo
    octubre 24, 2009 en 5:29 am | #1

    agradecido ;D
    me sirvio para un trabajo de la universidad

  2. noviembre 21, 2009 en 5:06 pm | #2

    muy buen aporte gracias

  3. Jesus
    diciembre 18, 2009 en 6:07 am | #3

    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 en 1:53 pm | #4

    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 en 2:01 pm | #5

    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 en 7:35 pm | #6

    como hacer que el textbox al escribir ingrese mayusculas solamente

  7. marzo 14, 2010 en 11:52 pm | #7

    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 en 9:40 am | #8

    muy bueno me fue de gran ayuda grax

  9. Jorge
    octubre 21, 2010 en 3:26 pm | #9

    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!

  10. K-tracho
    enero 2, 2011 en 10:48 pm | #10

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

  11. Miguel
    agosto 9, 2011 en 8:35 pm | #11

    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 en 8:44 pm | #12

      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

    • agosto 10, 2011 en 2:00 am | #13

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

      El 09/08/11,

  12. Jn
    febrero 14, 2012 en 2:07 pm | #14

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

    • marzo 13, 2012 en 2:21 pm | #15

      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 en 6:24 pm | #16

    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 en 8:11 pm | #17

    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 en 2:21 am | #18

    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 en 2:03 pm | #19

    Estos Codigos son compatibles con Visual Basic 2010 ??

    • marzo 6, 2013 en 2:05 pm | #20

      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 en 7:35 pm | #21

    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 en 12:29 am | #22

    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 en 7:11 pm | #23

    MUCHAS GRACIAS ME SIRVIO

  20. will
    mayo 5, 2013 en 8:25 pm | #24

    Hola como seria para q no me aceptara decimales?

  21. junio 4, 2013 en 9:24 pm | #25

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

  22. zayitara
    agosto 21, 2013 en 2:34 am | #26

    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 en 2:35 am | #27

    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 en 8:41 pm | #28

    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 en 7:02 pm | #29

    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 en 9:09 pm | #30

    Hola

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

  27. octubre 24, 2013 en 8:27 pm | #31

    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 en 4:06 pm | #32

    muy bueno me sirvio de mucho esta genial

  29. Renzo
    abril 3, 2014 en 6:48 pm | #33

    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 en 8:10 pm | #34

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

  1. No trackbacks yet.

Deja un comentario

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

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 58 seguidores

%d personas les gusta esto: