Передать аргумент в обработчик события - 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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы