将给定名称的子控件强制转换为字符串

时间:2018-07-02 11:07:57

标签: vb.net

我想将给定名称的控件转换为字符串,但是它仅适用于直接在表单上的控件,而不适用于子控件(对于任何容器)。

    Dim LabelName As String = lb_TabControlTest.Name
    Dim l = DirectCast(Controls(LabelName), Label)
    If Not l Is Nothing Then
        lb_TabControlTestResult.Text = "Success"
    Else
        lb_TabControlTestResult.Text = "Failure"
    End If

返回“失败”

有人能解释为什么/如果有比在父级中搜索每个控件直到找到一个具有相同名称的控件更好的方法来解决此问题,那么

1 个答案:

答案 0 :(得分:0)

更改

Dim l = DirectCast(Controls(LabelName), Label)

Dim l = DirectCast(TabPage1.Controls(LabelName), Label)