我正在做小型餐厅系统项目。我在餐厅的桌子上有16个按钮。当某些事件触发(加载表单)时,我想更改它们的颜色或禁用它们中的任何一个。
我将按钮名称保存为TableX_ButtonY
我使用了for循环来更改其边框颜色,如下所示:
CType(Me.Controls.Find(String.Format("Table{0}Button{1}", i, x), True)(0), Button).FlatAppearance.BorderColor = Color.Blue
如果我可以将这些按钮保存为列表,那就太好了,这样我可以更轻松地对其进行管理。
我将其标签命名为1到16,但我不知道如何正确使用它们。因为触发器不是基于按钮单击,而是基于Load Form事件。
答案 0 :(得分:2)
按钮已经在集合中,将它们添加到通用集合中有点多余。在此示例中,组控件集合中有2个按钮,该按钮很可能是任何适用的容器。
Dim ReservedTables() As Integer = {5, 10, 15, 20}
For Each Btn As Button In GroupBox1.Controls.OfType(Of Button)
If ReservedTables.Contains(CType(Btn.Tag, Integer)) Then
Btn.Enabled = False
End If
Next
答案 1 :(得分:1)
Dim TableList As New List(Of Button)
TableList.Add(TableX_ButtonY)
For Each Table As Button in TableList
'do stuff
next
如果使用设计器生成了按钮,则可以使用问题中描述的方法将其全部添加到列表中