Filtrar solo numeros

02/09/2007 - 18:26 por Tomas | Informe spam
Hola a todos.

¿Existe la posibilidad de que en una caja de texto de un formulario sólo se
puedan introducir números, del cero al nueve?.

O dicho de otro modo, que no permita entrar letras o signos.

Gracias.

Tomás.
 

Leer las respuestas

#1 Alberto Poblacion
02/09/2007 - 20:44 | Informe spam
"Tomas" wrote in message
news:
¿Existe la posibilidad de que en una caja de texto de un formulario sólo
se puedan introducir números, del cero al nueve?.

O dicho de otro modo, que no permita entrar letras o signos.



Una forma de hacerlo consiste en crear una clase hija de la clase
TextBox, dentro de la clase hija hacer un override del OnKeyPress para que
no acepte nada más que los caracteres deseados, y luego en el formulario
usar objetos de esta clase en lugar del TextBox original.

public class NumericTextBox : System.Windows.Forms.TextBox
{
//(Añadir aqui el Constructor, etc.)
protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs
e)
{
int asciiInteger = Convert.ToInt32(e.KeyChar);
//Dígitos del 0 al 9
if (asciiInteger >= 47 && asciiInteger <= 57)
{
e.Handled = false;
return;
}
//Permitir la tecla de retroceso
if (asciiInteger == 8)
{
e.Handled = false;
return;
}
//"Comerse" el resto de las teclas
e.Handled = true;
}
}

Preguntas similares