Передать аргумент в обработчик события - C#

Узнай цену своей работы

Формулировка задачи:

Программно создаю несколько кнопок, и в код каждой нужно отправить аргумент, как это сделать? примерно такой код
Листинг программы
  1. //Обработчик события
  2. private void btnNewTab_Click(object sender, EventArgs e) { /--.code--/}
  3. //Создание кнопки
  4. button.Click += new System.EventHandler(this.btnNewTab_Click);
хочу сделать что-то вроде
Листинг программы
  1. private void btnNewTab_Click(object sender, EventArgs e, string data){ /--.code--/}
  2.  
  3. button.Click += new System.EventHandler(this.btnNewTab_Click(data));
При таких попытках говорит что нет подходящего перегруженного метода(
Решено: передал нужные данные через sender.tag

Решение задачи: «Передать аргумент в обработчик события»

textual
Листинг программы
  1. Button button = new Button();
  2. button.Text = "My button";
  3. button.Location = new Point(10, 10);
  4. button.Size = new Size(75, 23);
  5. button.Tag = "Здесь строка с данными";
  6. button.Click += ButtonClick;
  7.  
  8. private void ButtonClick(object sender, EventArgs e) {
  9.     Button btn = sender as Button;
  10.     string data = (string)btn.Tag;
  11.    
  12.     MessageBox.Show("Button extra data: " + data);
  13. }

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы