Передать аргумент в обработчик события - C#
Формулировка задачи:
Программно создаю несколько кнопок, и в код каждой нужно отправить аргумент, как это сделать?
примерно такой код
хочу сделать что-то вроде
При таких попытках говорит что нет подходящего перегруженного метода(
//Обработчик события
private void btnNewTab_Click(object sender, EventArgs e) { /--.code--/}
//Создание кнопки
button.Click += new System.EventHandler(this.btnNewTab_Click);private void btnNewTab_Click(object sender, EventArgs e, string data){ /--.code--/}
button.Click += new System.EventHandler(this.btnNewTab_Click(data));
Решено: передал нужные данные через sender.tag
Решение задачи: «Передать аргумент в обработчик события»
textual
Листинг программы
Button button = new Button();
button.Text = "My button";
button.Location = new Point(10, 10);
button.Size = new Size(75, 23);
button.Tag = "Здесь строка с данными";
button.Click += ButtonClick;
private void ButtonClick(object sender, EventArgs e) {
Button btn = sender as Button;
string data = (string)btn.Tag;
MessageBox.Show("Button extra data: " + data);
}