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
2 Antworten
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
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!
Neue Fragen
vb.net
Visual Basic.NET (VB.NET) ist eine verwaltete, typsichere, objektorientierte Computerprogrammiersprache mit mehreren Paradigmen. Neben C # und F # ist es eine der Hauptsprachen für .NET Framework. VB.NET kann als Weiterentwicklung von Microsoft Visual Basic 6 (VB6) angesehen werden, ist jedoch in Microsoft .NET Framework implementiert. Verwenden Sie dieses Tag NICHT für VB6-, VBA- oder VBScript-Fragen.