Un textBox que acepte solo Letras en VB .NET
[Donde est� Keyascci
en VB .NET]

 

Fecha: 20/Mayo/2003 (Publicado 29/Jun/03)

Autor: Angel Enrique Ruiz Pastor (Vzla), [email protected]

.

Es te c�digo nos muestra como validar un texbox que acepte solo letras.

Abra un nuevo proyecto, En Proyectos de Visual Basic seleccione la plantilla Aplicaci�n para Windows.

En la Barra de Herramientas Seleccione Proyecto se le desplegara una lista  seleccione Agregar M�dulo.

Agregue un Textbox al Formulario y no le cambie el Nombre, D�jelo como textbox1

 
En el Modulo copie y pegue este c�digo:
 
'****************************************************************************************
'* C�digo realizado por Angel Ruiz � (Venezolano)                                       *
'****************************************************************************************
 
 
  Function SoloLETRAS(ByVal KeyAscii As Integer) As Integer
        KeyAscii = Asc(UCase(Chr(KeyAscii))) 'Transformar letras minusculas a May�sculas
        ' Intercepta un c�digo ASCII recibido admitiendo solamente
        ' letras, adem�s:
        ' deja pasar sin afectar si recibe tecla de Backspace o enter
        If InStr("ABCDEFGHIJKLMN�OPQRSTUVWXYZ", Chr(KeyAscii)) = 0 Then
            SoloLETRAS = 0
        Else
            SoloLETRAS = KeyAscii
        End If
        ' teclas adicionales permitidas
        If KeyAscii = 8 Then SoloLETRAS = KeyAscii ' Backspace
        If KeyAscii = 13 Then SoloLETRAS = KeyAscii ' Enter
    End Function
-------------------------------------------------------------------------------------------------------

Ahora valla al Formulario y haga doble click sobre el:
Despu�s de la l�nea:
Inherits System.Windows.Forms.Form
 
Copie y pegue esta Declaraci�n de Variable
Public KeyAscii As Short
 
Ahora en el evento KeyPress del textBox1 copie y pegue este c�digo
 
 Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
        KeyAscii = CShort(SoloLETRAS(KeyAscii))
        If KeyAscii = 0 Then
            e.Handled = True
        End If
 
Quedar�a de la siguiente forma:
 
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
        KeyAscii = CShort(SoloLETRAS(KeyAscii))
        If KeyAscii = 0 Then
            e.Handled = True
        End If
 
    End Sub
 
Ahora ejecute su aplicaci�n presionando F5.
 

ir al índice

Fichero con el c�digo de ejemplo, (ar_SoloLetras.zip - 21,2 KB)