Vb.net将所有已声明的按钮添加到我的表单中

时间:2012-08-23 15:02:48

标签: vb.net winforms

我想将所有声明的按钮添加到我的表单中

类似的东西:

dim btn1,btn2,btn3 as new button

for each btn as button in declared.buttons
me.controls.add(btn)
next

2 个答案:

答案 0 :(得分:1)

您可以添加如下按钮:

For i As Integer = 1 To 150
    Dim btn As New Button()
    btn.Name = "btn" + i.ToString()
    Controls.Add(btn)
Next

稍后,您可以访问以下按钮:

Dim btn As Button = CType(Controls("btn1"), Button)

但是,如果您需要动态加载许多控件,则可能需要重新考虑您的设计。对于大多数情况来说,它闻起来不错。

答案 1 :(得分:0)

您可以使用以下内容获取您声明的所有按钮:

Dim buttons = From fi In Me.GetType().GetFields(BindingFlags.Instance Or BindingFlags.NonPublic)
   Where fi.FieldType Is GetType(Button)
   Select CType(fi.GetValue(Me), Button)

脱离我的头脑..仍在努力......但你明白了吗?