Tip: Permitir sólo la entrada de números en un TextBox

Una forma sencilla de limitar que los usuarios sólo puedan ingresar números en determinados TextBox es la siguiente:

csharp:
public Form1()
{
    InitializeComponent();

    textBox1.KeyPress += new KeyPressEventHandler(textBox1_KeyPress);
}
void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    // Permitir sólo las teclas de control o números
    if (!(char.IsControl(e.KeyChar) || char.IsDigit(e.KeyChar)))
    {
        e.Handled = true;
    }
}

Puse a disposición el proyecto de prueba por si alguién está interesado.

Actualización: La porción de código mostrada todavía permite la entrada de otros caracteres (vía copiar & pegar), queda como tarea para el interesado completar la implementación de este ejemplo.

6 Replies to “Tip: Permitir sólo la entrada de números en un TextBox”

  1. No entiendo... es evidente que ese código se puede saltar simplemente usando Control+c Control+v por ejemplo...

  2. jeje, tienes razón, se me olvidó ese detalle. En todo caso lo dejo como tarea para el que quiera usarlo 🙂

    Saludos

  3. Casi que paso 😉

    Yo soy un defensor de la herencia de controles, y usar los eventos de validación. O si estoy en VB, uso el Change y me quedo tan pancho.

  4. Gabriel, eso no sirve para aplicaciones de web, sino para aplicaciones de escritorio. Si quieres hacer lo mismo en asp.net, necesitas hacerlo con javascript (me parece que publiqué algo parecido pero que sólo funciona en asp.net 2).

Comments are closed.