Validación de la tecla pulsada en un TextBox
[Ej. validar que las teclas sean numéricas]

Fecha: 21/Jul/2003 (27/Jul/2003)
Autor: Roberto Sánchez ; robersz@terra.es


En el siguiente artículo se aporta una manera sencilla de validar si la tecla pulsada dentro de un TextBox corresponde a un dígito decimal o no. Con este mismo ejemplo, ralizando un par de modificaciones sencillas tambíen se podría validar si la tecla pulsada corresponde a un caracter, pero esto no es necesario, ya q si la tecla no es un dígito...
Esto es el texto normal.

A continuación sigue código en Visual Basic:

Private Sub Text1_KeyPress(ByVal sender As Object , _
	ByVal e As  System.Windows.Forms.KeyPressEventArgs) Handless  Text1.KeyPress
    ' en la siguiente línea de código se comprueba si el caracter es dígito...
    if( not e.KeyChar.IsDigit(e.KeyChar)) Then
    ' de igual forma se podría comprobar si es caracter: e.KeyChar.IsLetter
    ' si es un caracter minusculas: e.KeyChar.IsLower ...etc
    If Not (e.KeyChar = Convert.ToChar(Keys.Back)) Then
            e.Handled = true ' esto invalida la tecla pulsada
        End If
    End If
End If
End Sub

Si nos fijamos en el ejemplo se puede apreciar que uso la clase Keys, la cual contiene creo que todas o casi todas las teclas de nuestros teclados(pero no lo he comprobado, se que estan todas las que he necesitado). Ya que KeyChar devuelve el carácter correspondiente al dígito pulsado, tendremos que hacer una conversión para poder compararlos correctamente.

Espero que os sea de utilidad.

 

Fichero con el código de ejemplo (roberscTextBox.zip - 19.9 KB)


ir al índice