2017-02-16 4 views
0

Я ищу некоторые советы о том, как добавить обработчики событий кликов к созданным динамическим методам в цикле.C# - как я могу обработать событие щелчка элементов управления, созданных динамически в цикле

Я искал обработчики событий щелчка на динамически созданных элементах управления, но это всегда возвращается с отдельными элементами управления, которые не входят в массив.

Пример кода:

   //create an array of 16 labels 
       Label[] label = new Label[16]; 

       //loop through the array of labels 
       for (int i = 0; i < label.Length; i++) 
       { 
        label[i]  = new Label();    //create new label 
        label[i].Name = "lbl" + i.ToString();  //give the label a name 
        label[i].Text = "label " + i.ToString(); //give the label text 
       } 

Любая помощь и консультации по этому вопросу было бы здорово, спасибо!

+0

[Динамическое создание кнопок - Как создать магический квадрат с помощью Windows Forms?] (Http://stackoverflow.com/a/33969228/3110834) –

ответ

3

Добавление обработчика:

label[i].Click += HandleLabelClick; 

void HandleLabelClick(object sender, EventArgs e) 
{ 
    // ... 
} 

Заметьте, что вы можете определить, который метка была нажата с помощью sender аргумент:

void HandleLabelClick(object sender, EventArgs e) 
{ 
    var label = (Label) sender; 
    if (label.Text == "this or that") { /* ... */ } 
} 
+1

Также стоит сказать что-то о параметре отправителя. –

+0

Довольно просто! Спасибо, я дам ему попробовать сегодня! –

Смежные вопросы