Aceptar sólo número en un TextBox
Artículo por Club Developers · 09 mayo 2006
2779 vistas
Nos vamos a servir del evento KeyPress para interceptar los carácteres entrados en el TextBox. La propiedad Handle de la clase KeyPressEventArgs indica a la aplicación lo que tiene que hacer con el carácter interceptado. Si vale false, se aplicará el tratamiento por defecto (es decir, mostrar el carácter si es imprimible). Si vale true, será nuestro código el que decidirá qué hacer con el carácter (si no hacemos nada, no se mostrará nada)
Ejemplo:
Nota: destacar que los carácteres no imprimibles como la tecla BACK también se deshabilitarán con este código.
Si queremos hacer un control total, tendremos que controlar ésto y la pulsación de teclas como CTRL+C o CTRL+V en el evento KeyDown o el clic del ratón (menú contextual - pegar).
Ejemplo:
csharp
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar)) // no tratamos los carácteres no numéricos en el TextBox. e.Handled = true; }
Nota: destacar que los carácteres no imprimibles como la tecla BACK también se deshabilitarán con este código.
Si queremos hacer un control total, tendremos que controlar ésto y la pulsación de teclas como CTRL+C o CTRL+V en el evento KeyDown o el clic del ratón (menú contextual - pegar).