Vb.net 访问以编程方式创建的文本框

Vb.net 访问以编程方式创建的文本框,vb.net,Vb.net,我需要读取datagrid中的项目数,并以编程方式将选项卡添加到一个tabControl中。读取datagrid没有问题,在tabcontrol中创建模型没有问题。因此,我读取项目的数量,相应地创建选项卡,所有文本框都已经具有正确的值,等等。 此时,用户将更新所创建选项卡上的一些信息,并需要单击更新按钮。此时,我需要逐个读取所有选项卡,访问创建的所有文本框,并将其发送到我的数据库。 到目前为止,我唯一没有得到结果的是“如何访问这些以编程方式创建的文本框?” 这就是我在TabControl中创建文

我需要读取datagrid中的项目数,并以编程方式将选项卡添加到一个tabControl中。读取datagrid没有问题,在tabcontrol中创建模型没有问题。因此,我读取项目的数量,相应地创建选项卡,所有文本框都已经具有正确的值,等等。 此时,用户将更新所创建选项卡上的一些信息,并需要单击更新按钮。此时,我需要逐个读取所有选项卡,访问创建的所有文本框,并将其发送到我的数据库。 到目前为止,我唯一没有得到结果的是“如何访问这些以编程方式创建的文本框?”

这就是我在TabControl中创建文本框的方法

    Dim TXT As New TextBox
        TXT = New TextBox
        TXT.Location = New System.Drawing.Point(213, 25)
        TXT.Width = 303
        TXT.TextAlign = HorizontalAlignment.Center
        TXT.Name = "TXT_02_" & tab_counter
        TXT.Text = MAT_DTCP(1) 'ABERTURA
        TXT.BackColor = ColorTranslator.FromOle(RGB(128, 255, 255))
        FORM_01.TBC_DTCP.SelectedTab.Controls.Add(TXT)
您可以使用LINQ:

Dim allTextBoxes = From tab In FORM_01.TBC_DTCP.TabPages.Cast(Of TabPage)()
                   From txt In tab.Controls.OfType(Of TextBox)()
                   Where txt.Name.StartsWith("TXT_02_")
                   Select txt
For Each txt As TextBox In allTextBoxes
    ' ...  '
Next
因此,您可以按照Tim下面的建议搜索它们,或者声明一个表单级列表(文本框),并在创建它们时将它们添加到该列表中。