VB避免被占用的文本框

时间:2013-05-17 19:28:03

标签: vb.net visual-studio-2010

我正在创建一个应用程序,其中有一个带有一列文本框的表单,这些文本框由两个不同的表单填充,每个表单上都有一个按钮。单击这些表单的按钮时,它们会将结果输入到列中的文本框中。

我遇到的问题是说我点击(form2.button 1)三次它会占用文本框1,2和3.现在说我想用(form1.button 1)将数据输入到文本框中4它将占用文本框1.

我为每个按钮设置了多次点击,所以我想了解我是如何说的那样(form2.button 1)被点击然后(form1.button1)将转到第二次点击例如。有10个文本框,所以我需要它,以便它们对每个被点击的次数做出反应。

2 个答案:

答案 0 :(得分:0)

为什么不在包含文本框的表单中存储计数器变量,比如NextTextBoxNumber每次填充文本框时递增,然后根据此值确切地知道要转到下一个文本框的文本框变量?

另外,继续@Oded的评论,你可以轻松地完成他的意思,使用If Textbox1.Text <> "" Then ...

的内容

这有意义吗?

答案 1 :(得分:0)

假设TextBox通过TextBox10被称为TextBox1,你可以使用这样的子:

Public Sub AddValue(ByVal value As String)
    For i As Integer = 1 To 10
        Dim tbName As String = "TextBox" & i
        Dim matches() As Control = Me.Controls.Find(tbName, True)
        If matches.Length > 0 AndAlso TypeOf matches(0) Is TextBox Then
            Dim tb As TextBox = DirectCast(matches(0), TextBox)
            If tb.Text.Trim.Length = 0 Then
                tb.Text = value
                Exit Sub
            End If
        End If
    Next
    MessageBox.Show("All TextBoxes are already taken!")
End Sub