Передача параметра в обработчик события - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д