Aceptar sólo número en un TextBox
Artículo por Club Developers · 11 mayo 2006
2016 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:
vbnet
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles TextBox1.KeyPress If Not Char.IsDigit(e.KeyChar) Then ' no tratamos los carácteres no numéricos en el TextBox. e.Handled = True End If End Sub
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).