#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;
}
Или в вашем вопросе было что-то еще?