Добавление элементов управления в массив кнопок c#

#c# #arrays #button #controls

#c# #массивы #кнопка #элементы управления

Вопрос:

Я нахожусь в середине проекта, и мне нужно добавить функции в массив кнопок, чтобы каждая кнопка запускала эту функцию при нажатии. Я создал массив, который также использует структуру для всех свойств во время инициализации. Я не могу жестко запрограммировать функции, потому что предыдущая функция задает размер и порядок массива кнопок. Я просмотрел сеть и, похоже, не могу найти конкретного ответа, который имеет отношение к делу. Я довольно новичок в программировании (на 2 курсе), поэтому извините, если моя терминология только что из колледжа. Любая помощь / совет были бы высоко оценены, спасибо.

Ответ №1:

Напишите ваш общий обработчик событий следующим образом с соответствующими параметрами.

 private void MyCommonFunctionForAllButtons(object sender, System.EventArgs e)
{
    //Write the logic you want to execute once any button is pressed.
}
  

Назначьте один и тот же обработчик событий для всех кнопок в вашем массиве.

 foreach( Button button in buttonArray ) 
{
    button.Click  = MyCommonFunctionForAllButtons;
}
  

Ответ №2:

Что-то вроде этого, я думаю:

 Button[] buttons = ... ;
for (int i=0; i < buttons.Length; i  )
{
    Button b = buttons[i];
    b.TabIndex = i;
      ... set other properties here, as desired....
    b.Click  = new System.EventHandler(clickHandler[i]);
}
  

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

Ответ №3:

Вам нужно просмотреть список кнопок и назначить обработчик onclick?

 foreach( Button button in buttons ) {
    button.Click  = methodName;
}
  

Или в вашем вопросе было что-то еще?