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

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 | #1

    agradecido ;D
    me sirvio para un trabajo de la universidad

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

    muy buen aporte gracias

  3. Jesus
    diciembre 18, 2009 a las 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 a las 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 a las 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 a las 7:35 pm | #6

    como hacer que el textbox al escribir ingrese mayusculas solamente

  7. marzo 14, 2010 a las 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 a las 9:40 am | #8

    muy bueno me fue de gran ayuda grax

  9. Jorge
    octubre 21, 2010 a las 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 a las 10:48 pm | #10

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

  11. Miguel
    agosto 9, 2011 a las 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 a las 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 a las 2:00 am | #13

      Chicos alguna sugerencia para la consulta?? Esperamos su colaboración.

      El 09/08/11,

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

    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 | #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 míralo http://www.foro.vb-mundo.com/f25/textbox-letras-punto-y-coma-13435/

      Me avisas si te funcionó?

      Saludos, Andy

  1. Aún no hay trackbacks

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 26 seguidores