首页 文章

如果文本框已满,如何告诉文本框在下一个空文本框中输入数据

提问于
浏览
0

我有textbox1.text作为主文本框 . 选择提交按钮时输入到textbox1.text的任何文本都应该将文本输入到下一个可用的文本框中,即textbox2.text,textbox3.text和textbox4.text . 如何告诉vb.net如果textbox2.text已满,则将文本输入textbox3.text,如果textbox3.text已满,则将文本输入textbox4.text . 这是我被卡住的地方 . 我还在学习更多关于vb.net的知识 .

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 回答

  • 0

    更紧凑的代码来完成这项工作

    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

    您可以将文本框的textlength与文本框的最大长度进行比较,如果它们匹配,则下一个

    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
    

    一旦输入最后一位数字,这将把焦点切换到textbox2 .

    如果你想在按钮事件中使用它,那么就像上面一样,但没有 - 1

    如果您希望始终保持文本相同,请执行以下操作:

    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
    

    您将为每个文本框重复相同的操作,例如:

    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
    

    希望这可以帮助!

相关问题