2016-01-25 1 views
-1

У меня есть 81 кнопка на форме (сетка 9x9), каждая из которых называется «X_Y» (например, «5_2» для X = 5, Y = 2). Я хочу, чтобы каждая кнопка запускала один и тот же элемент. В одной и той же форме нет других кнопок.Как запустить ту же кнопку для каждой кнопки на форме?

Я мог бы просто сделать это: Private Sub TileClicked(sender As Object, e As EventArgs) Handles 0_0.Click, 0_1.Click, 0_2.Click, и так далее (до 8_8.Щелкните), но если есть более простой/более простой способ, то я бы предпочел сделать это.

Любой способ обработки любого нажатия кнопки или что-то вроде цикла For для прохождения всех 81 кнопок.

+0

Что вы хотите кнопки делать? Могли ли вы сделать это в методе, а затем вызвать этот метод для каждой кнопки? – codeMonger123

+0

Возможно, было бы неплохо, если вы вручную не поместите все эти кнопки в форму во время разработки. Программное добавление кнопок во время выполнения было бы лучшим выбором, и вы можете добавить обработчик в то время, когда вы их создадите. – Enigmativity

ответ

1
Dim btn as Button = Nothing 
For Each ctrl As Control in myForm.Controls 
    If TypeOf ctrl Is Button Then 
     btn = DirectCast(ctrl, Button) 
     AddHandler btn.Click, AddressOf Me.Button_Click 
    End If 
Next 

Refer here.

 Смежные вопросы

  • Нет связанных вопросов^_^