Visual Basic 2008 - Me.Controls - 文本框 - NULL -

时间:2014-04-01 16:17:34

标签: vb.net combobox textbox

自学(进行中)Visual Basic的人。

我已经在这方面寻找了一个明确的答案,但到目前为止空手而归。

问题......

  1. 我有两个组合框。第一个组合框有10个选项,第二个组合框有2个选项

  2. 我有10个文本框,其名称包含10个选项中的一个。

    ex第一个文本框名称 - “txb_Option1Type”

    第二个文本框名称 - “txb_Option2Type”等等。

  3. 我有2个标签,第一个标签上有前5个文本框,第2个标签上有5个文本框。

  4. 我认为按下按钮后,下面的一些代码会将第二个组合框中所选选项的文本传输到相应的文本框...

  5. ` Public Sub TransferTruckToDoorText()

        Dim str_ErrorButton As String = cbx_DoorNumber.Text
    
        Dim str_ReplaceSpacesButton As String = str_ErrorButton.Replace(" ", "")
    
        Dim str_Button As String = str_ReplaceSpacesButton
    

    下面代码行的空引用错误

        Me.Controls("txb_" & str_Button & "Type").Text = cbx_TruckType.Text
    
    
    End Sub
    

    `

    如上面的代码中所述,我得到一个空引用,但对于我的生活,我无法弄清楚为什么。我已经逐步完成了代码,而且我无法找到可能导致此捕获的NULL或Nothing值。

    任何和所有帮助将不胜感激。

    为了清晰起见而编辑

2 个答案:

答案 0 :(得分:0)

Me.Controls集合不会自动搜索子面板。

尝试使用Controls.Find方法,其中包括一个参数来搜索子控件的控件集合。它返回一个数组:

Dim c As Control() = Me.Controls.Find("txb_" & str_Button & "Type", True)
If c.Length = 1 Then
  c(0).Text = cbx_TruckType.Text
End If

答案 1 :(得分:0)

Me.Controls.Item("txb_" & str_Button & "Type")