我有10个按钮,button01
,button02
... button10
。我想要的是如何操纵它。
For x=1 to 10
button(x).text = "blah" 'from database...or something
next
我需要这样做,因为我有10个或更多按钮,我想通过初始化来操作它。所以我不是一个一个地手动完成的。我不知道该怎么做。我还是.NET的新手。
答案 0 :(得分:4)
您不应该以这种容易出错的方式进行操作,只是为了节省一些代码行。但如果你真的想要......
您可以使用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
答案 1 :(得分:1)
您必须iterate
完成此parent container
的{{1}}。
假设您在名为buttons
的{{1}}内举行此controls
,那么您必须这样做:
panel
答案 2 :(得分:1)
简单地:
For i As Integer = 1 To 10
Me.Controls("button" & i.ToString("00")).Text = "blah"
Next
答案 3 :(得分:0)
您可以尝试使用WebControl中的方法FindControl:
For x=1 to 10
FindControl("button" & if(x < 10, "0" & x, x) = "blah" 'from database...or something
next
编辑:我主要使用C#,而不是VB,因此可能需要进行一些更改。但是,我认为这种方法是一样的。
答案 4 :(得分:-2)
zeroyevi cubosoft.cl - DevExpress - la clave esta(bar.button.item)en Me.RibbonControl.Items(“NAME_BUTTON”)。Enabled = True or false
Private Sub GetSearchPerfilModulosBotones(ByVal _id_perfil As String)
Dim dt As New DataTable
Dim _act_btns As Boolean
Dim _name_btns As String
Dim _name_module As String = Me.Name.ToString()
Try
Dim _ControlDatosSistema As New ControlDatosSistema()
With _ControlDatosSistema
dt = .GetSearchPerfilModulosBotones(_id_perfil, _name_module )'SQL QUERY
If (dt.Rows.Count >= 1) Then
For Each row As DataRow In dt.Rows
_act_btns = row("ACT_BTNS") 'BOTONES PERFIL True or False
_name_btns = row("NAME_BTNS").ToString()'NOMBRE BOTONES TABLA
Me.RibbonControl.Items(_name_btns ).Enabled = _act_btns
Next
End If
End With
_ControlDatosSistema = Nothing
dt.Dispose()
Catch ex As Exception
End Try
End Sub