当前位置 : 主页 > 编程语言 > c语言 >

vb.net – 动态获取控件(按钮)的名称

来源:互联网 收集:自由互联 发布时间:2021-06-24
我有10个按钮,分别是button01,button02 … button10.我想要的是如何操纵它. For x=1 to 10 button(x).text = "blah" 'from database...or somethingnext 我需要这样做,因为我有10个或更多按钮,我想通过初始化来操作
我有10个按钮,分别是button01,button02 … button10.我想要的是如何操纵它.

For x=1 to 10
  button(x).text = "blah" 'from database...or something
next

我需要这样做,因为我有10个或更多按钮,我想通过初始化来操作它.所以我不是一个一个地手动完成的.我不知道该怎么做.我还是.NET的新手.

您不应该以这种容易出错的方式进行操作,只是为了节省一些代码行.但如果你真的想……

您可以使用Panel或其他容器控件来逻辑地对相关控件进行分组.然后使用MyPanel.Controls.OfType(Of Button)()过滤并找到那里的所有按钮.

For Each btn As Button In MyPanel.Controls.OfType(Of Button)()
    btn.Text = "blah" 'from database...or something
Next

另一种方法是首先将它们全部放在数组或其他集合类型中,如List(Of Button),然后循环它们:

Dim myButtons = {button1, button2, button3, button4, button5, button6}
For Each btn In myButtons
    btn.Text = "blah" 'from database...or something
Next

最后,您可以使用ControlCollection.Find查找具有给定字符串的控件名称:

For i As Int32 = 1 To 10
    Dim btns = Me.Controls.Find("button" & i, True)
    If btns.Length > 0 Then
        btns(0).Text = "blah" 'from database...or something
    End If
Next
网友评论