Передача параметра в обработчик события - C#
Формулировка задачи:
Всем привет, не могу решить проблему передачи параметра в обработчик события.
В List загоняю динамически создаваемые PictureBox для каждого указывая обработчик Pic_Click.
В обработчике пытаюсь принять значение Name кликнутого элемента.
В указанном месте возникает ошибка "Требуется имя метода". Заранее спасибо!
List<PictureBox> PicList = new List<PictureBox>(); string Build() { for (int i = 0; i < 100; i += 100) { PictureBox picbox = new PictureBox(); picbox.Name = "id" + i.ToString(); ... picbox.Click += new System.EventHandler(pic_Click(picbox, picbox.Name)); //ошибка PicList.Add(picbox); } for (int i = 0; i < PicList.Count; i++) { this.Controls.Add(PicList[i]); } } void pic_Click(object sender, string a) { label1.Text = a; }
Решение задачи: «Передача параметра в обработчик события»
textual
Листинг программы
Private PicList As New List(Of PictureBox)() Private Sub Build() For i As Integer = 0 To 99 Step 100 Dim picbox As New PictureBox() picbox.Name = "id" + i.ToString() '... picbox.Click += New System.EventHandler(pic_Click()) PicList.Add(picbox) Next For i As Integer = 0 To PicList.Count - 1 Me.Controls.Add(PicList(i)) Next End Sub Private Sub pic_Click(sender As Object, a As String) label1.Text = DirectCast(sender, PictureBox).Name End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д