Передача параметра в обработчик события - 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