Cuando desarrollamos nuestras aplicaciones de escritorio usando Visual Basic.Net, es típico usar cajas de texto y es de mucha utilidad ponerle algunas caracteristicas y funcionalidades para darle una mejor presentación y comodidad al manejo de la aplicación por parte del usuario final.
He aquí unos ejemplos:
a) Texbox que solo admita letras (Evento KeyPress).
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As _
‘ System.Windows.Forms.KeyPressEventArgs) _
‘ Handles TextBox1.KeyPress
‘ If Char.IsLetter(e.KeyChar) Then
‘ e.Handled = False
‘ ElseIf Char.IsControl(e.KeyChar) Then
‘ e.Handled = False
‘ ElseIf Char.IsSeparator(e.KeyChar) Then
‘ e.Handled = False
‘ Else
‘ e.Handled = True
‘ End If
End Sub
b) Enviar el foco al siguiente texbox o cualquier otro control (Evento KeyPress).
Opción 1: Ojo que en éste caso se basa en el orden de tabulación de los controles
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
‘ ByVal e As System.Windows.Forms.KeyPressEventArgs) _
‘ Handles TextBox1.KeyPress
‘ If e.KeyChar = ChrW(Keys.Enter) Then
‘ e.Handled = True
‘ SendKeys.Send(«{TAB}»)
‘ End If
End Sub
Opción 2: Aquí le indicas hacia que control enviaras el foco.
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
‘ ByVal e As System.Windows.Forms.KeyPressEventArgs) _
‘ Handles TextBox1.KeyPress
‘ If Asc(e.KeyChar) = 13 Then ‘Si es igual a presionar la tecla Enter
‘ Me.TextBox2.Focus()
‘ End If
End Sub
c) Seleccionar todo el texto del Texbox al recibir el foco (Evento Enter).
‘Private Sub TexBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) ‘ Handles TexBox1.Enter
‘ Me.TexBox1.SelectAll()
‘End Sub
d) Convertir texto a Mayúsculas o Minúsculas (Evento TextChanged)
‘ Mayúsculas
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
‘ ByVal e As System.EventArgs) _
‘ Handles TextBox1.TextChanged
‘ TextBox1.CharacterCasing = CharacterCasing.Upper
End Sub
‘Minusculas :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
‘ ByVal e As System.EventArgs) _
Handles TextBox1.TextChanged
‘ TextBox1.CharacterCasing = CharacterCasing.Lower
End Sub
e) Limpiar el contenido de todos los Texbox de un formulario.
‘Procedimiento:
Private Sub Limpiar_Cajas(ByVal f As Form)
‘ recorrer todos los controles del formulario indicado
‘ For Each c As Control In f.Controls
‘ If TypeOf c Is TextBox Then
‘ c.Text = «» ‘ limpiar el texto
‘ End If
‘ Next
End Sub
‘Ejecutando el procedimiento en un Botón
Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
‘
‘ Limpiar_Cajas(Me) ‘le indicas el formulario en el parametro
End Sub
f) Evaluar teclas de funcion o tecla precionada (evento KeyDown).
Private Sub TexBox1_KeyDown(ByVal sender As System.Object, ByVal e As _
‘ System.Windows.Forms.KeyEventArgs) Handles TexBox1.KeyDown
‘
‘ If e.KeyValue = Keys.F1 Then
‘ Dim forma As New FrmAyuda
‘ forma.ShowDialog()
‘ End If
‘
End Sub
Espero les sea de utilidad estos pequeños ejemplos.