изменить цвет кнопки в двумерном массиве - PullRequest
0 голосов
/ 26 сентября 2019

Не знаю с чего начать.я создал 2d массив кнопок.(10 на 10) Я хочу изменить цвет нескольких выбранных кнопок в массиве.Понятия не имею, с чего начать.все поможет.спасибо

Dim comSize As Integer
comSize = 25
Dim comBtn As Windows.Forms.Button
Dim x, y As Integer
x = 10
Me.Size = New Size(350, 350)
For i As Integer = 1 To 100
    If x >= 250 Then
        x = 10
        y += comSize
    End If
    comBtn = New Button
    comBtn.Name = "x" & i.ToString
    comBtn.Text = comBtn.Name
    comBtn.Location = New Point(x + 300, y)
    comBtn.Size = New Size(comSize, comSize)
    'comBtn.BackColor = Color.Crimson
    AddHandler comBtn.Click, AddressOf Combtn_Click
    Controls.Add(comBtn)
    x += comSize
Next

ЭТО СОЗДАЕТ КНОПКИ

1 Ответ

0 голосов
/ 27 сентября 2019

Когда вы говорите 2-мерный массив, я ожидал бы, что определен массив .net (,).У вас есть просто набор кнопок на форме, расположенных в строках и столбцах.

Чтобы изменить цвет нажимаемой кнопки, используйте обработчик Click, который вы добавили для каждой кнопки.Обработчик должен соответствовать подписи обработчика события Click.Отправитель - это кнопка, на которую нажали, но отправитель - это Объект, поэтому вы должны привести его к кнопке.Тогда вы можете использовать свойства кнопки.

Private Sub Combtn_Click(sender As Object, e As EventArgs)
    Dim b As Button = DirectCast(sender, Button)
    b.BackColor = Color.Purple
End Sub
...