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

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

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

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

"Ending"

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

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

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

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


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

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

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