Это, безусловно, возможно сделать. Совместное использование обработчика событий довольно легко сделать в этом случае, потому что Button
, который вызвал событие, отправляется как часть аргументов события. Это будет значение sender
и может быть приведено обратно к Button
Вот пример кода
class Form1 : Form {
private Button[] _buttons;
public Form1(int count) {
_buttons = new Button[count];
for ( int i = 0; i < count; i++ ) {
var b = new Button();
b.Text = "Button" + i.ToString()
b.Click += new EventHandler(OnButtonClick);
_buttons[i] = b;
}
}
private void OnButtonClick(object sender, EventArgs e) {
var whichButton = (Button)sender;
...
}
}