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

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

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

Имеет массив экземпляров класса:
Листинг программы
  1. private List<Video> myvideo = new List<Video>();
У данного класса есть событие

"Ending"

, которое срабатывает в конце проигрывания видео. При заполнении списка экземпляров я добавляю обработчик события каждому экземпляру:
Листинг программы
  1. myvideo[xxx].Ending += new EventHandler(myvideo_Ending)
И соответственно создал функцию для обработки события:
Листинг программы
  1. protected void myvideo_Ending(object sender, EventArgs e)
  2. {
  3. // Здесь я сделаю что-то
  4. // Сам блок запускается нормально
  5. myvideo[xxx].name = "тра ля ля"; // откуда вот в этом обработчике взять xxx и понять кто его вызвал?
  6. }
А как теперь передать в обработчик событий индекс вызвавшего его экземпляра? В данном примере - xxx. Просто добавление новых аргументов в функцию myvideo_Ending не помогает. Прога требует "object sender, EventArgs e".
ой. Извините. оказалось всё просто. надо писать
Листинг программы
  1. myvideo[(sender as Video)].name = "тра ля ля";
И тогда всё работает.
Хотя всё равно порядковый номер экземпляра неплохо бы получить...

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

textual
Листинг программы
  1. (Sender as Video).name=

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


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

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

12   голосов , оценка 4.167 из 5

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

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

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