Textbox question

MadMike

New member
Joined
Dec 9, 2006
Messages
2
Programming Experience
Beginner
Hi my names Mike and i just joined the forum, im using VB 2005 express edition, and i currently take a class in school on vb.net programming and for our final semester project im supposed to create an application, so i did and everything turned out great now im just "spicing" it up so its easier for the user.

my question is that how can i make it so that when the user inputs text into one textbox that after the text limit is reached it goes to a seperate textbox next to it?

example:

prgkg2.jpg


Thanks.
 
Use an event handler for all the controls and check the .Text.Length property, use the containercontrol.SelectNextControl method to move to next control in TabIndex order. Example:
VB.NET:
    Private Sub TextBoxes_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles TextBox4.TextChanged, TextBox3.TextChanged, TextBox2.TextChanged, TextBox1.TextChanged
        Dim tb As TextBox = DirectCast(sender, TextBox)
        If tb.Text.Length = 1 Then Me.SelectNextControl(tb, True, True, False, True)
    End Sub
 
Does this help?
VB.NET:
     Private Sub TXTnumbers_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TXTnumber1.TextChanged, TXTnumber2.TextChanged, TXTnumber3.TextChanged, TXTnumber4.TextChanged, TXTnumber5.TextChanged
        Dim txtnumbers() As TextBox = {TXTnumber1, TXTnumber2, TXTnumber3, TXTnumber4, TXTnumber5}
        If DirectCast(sender, TextBox).Text.Length > 2 Then
            Dim i As Integer = Array.IndexOf(txtnumbers, sender) + 1
            If Not i > 5 Then
                Dim objNextTextBox As TextBox = txtnumbers(i)
                txtnumbers(i).Focus()
            End If
        End If

    End Sub

edit: heh JonH beat me to it
 
Back
Top