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

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

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

Всем привет, не могу решить проблему передачи параметра в обработчик события. В List загоняю динамически создаваемые PictureBox для каждого указывая обработчик Pic_Click. В обработчике пытаюсь принять значение Name кликнутого элемента.
Листинг программы
  1. List<PictureBox> PicList = new List<PictureBox>();
  2. string Build()
  3. {
  4. for (int i = 0; i < 100; i += 100)
  5. {
  6. PictureBox picbox = new PictureBox();
  7. picbox.Name = "id" + i.ToString();
  8. ...
  9. picbox.Click += new System.EventHandler(pic_Click(picbox, picbox.Name)); //ошибка
  10. PicList.Add(picbox);
  11. }
  12. for (int i = 0; i < PicList.Count; i++)
  13. {
  14. this.Controls.Add(PicList[i]);
  15. }
  16. }
  17.  
  18. void pic_Click(object sender, string a)
  19. {
  20. label1.Text = a;
  21. }
В указанном месте возникает ошибка "Требуется имя метода". Заранее спасибо!

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

textual
Листинг программы
  1. Private PicList As New List(Of PictureBox)()
  2.  
  3. Private Sub Build()
  4.     For i As Integer = 0 To 99 Step 100
  5.         Dim picbox As New PictureBox()
  6.         picbox.Name = "id" + i.ToString()
  7.         '...
  8.         picbox.Click += New System.EventHandler(pic_Click())
  9.         PicList.Add(picbox)
  10.     Next
  11.  
  12.     For i As Integer = 0 To PicList.Count - 1
  13.         Me.Controls.Add(PicList(i))
  14.     Next
  15. End Sub
  16.  
  17.  
  18. Private Sub pic_Click(sender As Object, a As String)
  19.     label1.Text = DirectCast(sender, PictureBox).Name
  20. End Sub

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


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

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

9   голосов , оценка 4 из 5

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

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

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