viernes, 25 de junio de 2010

Rstricción de un textbox para que acepte solo numeros o letras.

En esta guía les mostrare un código muy sencillo, pero a su vez muy util para la restricción para el usuario de ingresar caracteres no permitidos en nuestras aplicaciones, y que sin duda nos evitara muchas molestias a la hora de ver como nos ¨botan¨ nuestras aplicaciones con diversas excepciones.
Primero que todo vamos a crear un nuevo proyecto, el cual como es de esperar incluiremos un textbox.
un ejemplo del form:

luego en el evento Keypress del textbox que soporta solo números iria el siguiente codigo:
Private Sub txt_solo_numeros_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_solo_numeros.KeyPress
If (Char.IsNumber(e.KeyChar) = True Or Char.IsControl(e.KeyChar) = True) Then
e.Handled = False
Else
e.Handled = True

End If
End Sub

Como se puede observar la condición IF evalua si es verdadero que se digitó un número mediante la linea Char.IsNumber(e.KeyChar)=true y tambien evalua si se digitó un control, necesario por si el usuario desea borrar lo digitado en el textbox, a condinuación les dejaré el evento del textbox que acepta solo letras, es la misma dinamica lo unico es que se le agrega el Char.IsSeparator(e.Keychar)=true para poder permitir que el usuario ingrese espacios en el textbox.

Private Sub txt_solo_letras_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_solo_letras.KeyPress
If (Char.IsLetter(e.KeyChar) = True Or Char.IsControl(e.KeyChar) = True Or Char.IsSeparator(e.KeyChar)) Then
e.Handled = False
Else
e.Handled = True

End If
End Sub

Aqui les dejo el proyecto completo: http://www.mediafire.com/?xdnm1lhydn5, y si tienen dudas solamente me mandan un email a jechu1@racsa.co.cr

1 comentario: