Я пытаюсь сделать так, чтобы панель отображала результат по-разному каждый раз, когда пользователь выбирает элементы из предварительно загруженного поля со списком и динамически созданного поля со списком.
Первоначально он загружает поле со списком с элементом ("HelloWorld") , каждый раз, когда я выполняю SelectedIndexChanged с «HelloWorld», на панели отображается 1.
Однако проблема возникает всякий раз, когда я нажимаю кнопку добавления и выполняю SelectedIndexChanged с «HelloWorld» на вновь созданной кнопке. Он просто не показывает 2, но вместо этого, когда я нажимаю на предварительно загруженный comboBox, он показывает 3.
Это как-то связано с событиями жизненного цикла?
class form{
int index = 0;
private void formMain_Load(object sender, EventArgs e)
{
Button add = new Button();
panel.Controls.Add(search());
add.Click += new EventHandler((object o, EventArgs e) => { panel.Controls.Add(search()); });
panel.Controls.Add(add);
}
public ComboBox search()
{
ComboBox searchField = new ComboBox();
searchField.Items.Add("HelloWorld");
searchField.SelectedIndexChanged += new EventHandler((object io, EventArgs ie) =>
{
index++;
Label display = new Label();
display.Text = index.ToString();
panel.Controls.Add(display);
});
return searchField;
}
}
У меня есть много дней пробовал и не мог понять ... Любая помощь будет оценена. Спасибо