Есть ли способ сохранить несколько кнопок в виде списка? - PullRequest
0 голосов
/ 29 апреля 2019

Я делаю небольшой ресторанный проект. У меня 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.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Кнопки уже находятся в коллекции и немного избыточны, чтобы добавить их в общую коллекцию.В этом примере в коллекции групповых элементов управления есть 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 голос
/ 29 апреля 2019
 Dim TableList As New List(Of Button) 

 TableList.Add(TableX_ButtonY)


 For Each Table As Button in TableList
     'do stuff
 next

если вы сгенерировали кнопки с помощью дизайнера, вы можете использовать метод, который вы описали в своем вопросе, чтобы добавить их все в список

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...