Sunteți pe pagina 1din 3

If Char.IsNumber(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
'SOLO LETRAS'
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

podrias en lugar de usar el evento LostFocus tambien hacerlo al rpesionar enter


en el TextBox para confirmar el ingreso de los datos

Private Sub Form_Load(...)


button1.Enable = False
End Sub
Private Sub Textbox_LostFocus (..) Handles TextBox1.LostFocus,
TextBox2.LostFocus, TextBox3.LostFocus
HabilitarSiguiente()
End Sub
Private Sub textBox1_KeyUp(..) Handles TextBox1.KeyUp, TextBox2.KeyUp,
TextBox3.KeyUp
If e.KeyCode = Keys.Enter Then
HabilitarSiguiente()
End If
End Sub
Private Sub HabilitarSiguiente()
If String.IsNullOrEmpty(Textbox1.Text) Or _

String.IsNullOrEmpty(Textbox1.Text) Or _
String.IsNullOrEmpty(Textbox1.Text) Then
button1.Enable = False
Else
button1.Enable = True
End If
End Sub

como veras en el enter del textbox validas si se habilita el boton o no, sin
necesidad de quitar el foco

simplemente deberias agregar una validacion para saber cuando habilitarlo


o sea al comienzo del for deshabilitas el boton y cuando se cumpla que los 5
textbox estan habilitados lo habilitas
algo como esto

Private Sub Form_Load(...)


button1.Enable = False
End Sub
Private Sub Textbox_ LostFocus (..) Handles TextBox1.LostFocus,
TextBox2.LostFocus, TextBox3.LostFocus
If String.IsNullOrEmpty(Textbox1.Text) Or _
String.IsNullOrEmpty(Textbox1.Text) Or _
String.IsNullOrEmpty(Textbox1.Text) Then
button1.Enable = False
Else
button1.Enable = True
End If

End Sub

Si te parece bien, inserta en tu formulario el siguiente cdigo:


Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
Handles MyBase.Load
For Each ctrl As Control In Me.Controls
If (TypeOf ctrl Is TextBox) Then _
AddHandler ctrl . TextChanged , AddressOf TextBoxOnTextChanged
Next
End Sub
Private Sub TextBoxOnTextChanged(ByVal sender As Object, ByVal e As
EventArgs)
Button1.Enabled = ((TextBox1.TextLength > 0) AndAlso _
(TextBox2.TextLength > 0) AndAlso _
(TextBox3.TextLength > 0) AndAlso _
(TextBox4.TextLength > 0) AndAlso _
(TextBox5.TextLength > 0))
End Sub
End Class

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _


Handles TextBox1.TextChanged, TextBox2.TextChanged

Button1.Enabled = ((TextBox1.TextLength > 0) And


(TextBox2.TextLength > 0))

End Sub

S-ar putea să vă placă și