0

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

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

我将每个按钮设置为多次点击,所以我想了解我怎么能这么说(form2.button 1)被点击,然后(form1.button1)将进入第二次点击。有 10 个文本框,所以我需要它,以便它们对每个文本框被点击的次数做出反应。

4

2 回答 2

0

假设 TextBoxes 通过 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
于 2013-05-17T22:05:35.940 回答
0

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

此外,要继续@Oded 的评论,您可以使用以下内容轻松完成他的意思If Textbox1.Text <> "" Then ...

那有意义吗??

于 2013-05-17T19:51:33.790 回答