Visual Studio - 如何将变量用于对象名称?

时间:2012-11-14 17:06:28

标签: arrays vb.net

我正在学习视觉,我正在努力做到这一点:

    For Each folder In Dir.Subfolders
        list = list + 1
        C1CheckBox(list).Text = folder.Name
    Next

我有很多名为C1CheckBox1,C1CheckBox2,C1CheckBox3等的checkboxex ...然后我想用文件夹名称更改每个复选框的文本(使用list var引用对象)...

我怎么能这样做?

谢谢你的阅读

2 个答案:

答案 0 :(得分:1)

您可以循环浏览所有设置文本的复选框。有关如何枚举复选框的示例,请参阅this answer

答案 1 :(得分:1)

您可以使用Controls.Find按名称查找控件:

For Each folder In Dir.Subfolders
    list = list + 1
    Dim cb As CheckBox = Me.Controls.Find("C1CheckBox" & list, True)(0)
    cb.Text = folder.Name
Next

这将搜索整个表单,包括其子容器。如果您知道所有复选框都在panel1中,那么您可以更具体:

Dim cb As CheckBox = Me.Panel1.Controls.Find("C1CheckBox" & list, False)(0)