Ich habe textbox1.text als Haupttextfeld. Jeder Text, der bei Auswahl der Schaltfläche "Senden" in textbox1.text eingegeben wird, soll den Text in das nächste verfügbare Textfeld eingeben, nämlich textbox2.text, textbox3.text und textbox4.text. Wie kann ich vb.net mitteilen, dass wenn textbox2.text voll ist, der Text in textbox3.text eingegeben wird und wenn textbox3.text voll ist, um den Text in textbox4.text einzugeben. Hier steckte ich fest. Ich bin noch dabei, mehr über vb.net zu erfahren.

Private Sub SubBttn_Click(sender As Object, e As EventArgs) Handles SubBttn.Click
        If TextBox1.Text.Trim.Length > 0 Then
            TextBox2.Text = TextBox1.Text
            If TextBox2.Text.Trim.Length > 0 Then
                TextBox3.Text = TextBox1.Text
            End If
        End If
End Sub
0
Tom 3 Jän. 2016 im 05:58

2 Antworten

Beste Antwort

Kompakterer Code für die Arbeit

Private Sub btnsubmit_Click(sender As Object, e As EventArgs) Handles btnsubmit.Click

Dim LstTextBox As New List(Of TextBox) 'A list to contain text boxes excluding the main text box

LstTextBox.Add(TextBox2)
LstTextBox.Add(TextBox3)
LstTextBox.Add(TextBox4)

For Each Tbox As TextBox In LstTextBox

    If String.IsNullOrWhiteSpace(Tbox.Text) = True Then 'If text box is empty or contains white spaces

        Tbox.Text = TextBox1.Text 'Copies text from main text box
        TextBox1.Clear() 'Clears main text box
        Exit Sub

    End If

Next

End Sub
0
Ahmed Osama 3 Jän. 2016 im 07:39

Sie können die Textlänge des Textfelds mit der maximalen Länge des Textfelds vergleichen, und wenn sie übereinstimmen, die nächste

Private Sub TextBox1_TextChanged(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    If TextBox1.TextLength = TextBox1.MaxLength - 1 Then
        TextBox2.Focus()
    End If
End Sub

Dadurch wird der Fokus auf Textbox2 umgeschaltet, sobald die letzte Ziffer eingegeben wurde.

Wenn Sie es in einem Schaltflächenereignis möchten, gehen Sie wie oben beschrieben vor, jedoch ohne - 1

Wenn Sie den Text durchgehend beibehalten möchten, gehen Sie folgendermaßen vor:

Private Sub SubBttn_Click(sender As Object, e As EventArgs) Handles SubBttn.Click
    If TextBox1.TextLength = TextBox1.MaxLength Then
        TextBox2.Text = TextBox1.Text
        TextBox2.Focus()
    End If
End Sub

Sie würden dieselbe Aktion für jedes Textfeld wiederholen, zum Beispiel:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If TextBox1.TextLength = TextBox1.MaxLength Then
            TextBox2.Text = TextBox1.Text
            TextBox2.Focus()
        End If
        If TextBox2.TextLength = TextBox2.MaxLength Then
            TextBox3.Text = TextBox2.Text
            TextBox3.Focus()
        End If
        If TextBox3.TextLength = TextBox3.MaxLength Then
            TextBox4.Text = TextBox3.Text
            TextBox4.Focus()
        End If
    End Sub

Hoffe das hilft!

0
Dominik H 3 Jän. 2016 im 04:08