我将在C#中创建动态按钮,并需要向Click-Event-Handler添加一个参数(ID)。
但是,在此示例中,所有按钮的输出始终是最后一个参数"10",而不是"1-2-3-4-5-....",为什么?
for(int counter = 1; counter < 10; counter++)
{
// Add new button
Button btn = new Button();
btn.Width = 250;
btn.Height = 50;
btn.Click += delegate (object sender1, EventArgs e1)
{ myEventHandler(sender1, e1, counter); };
Test.Controls.Add(btn);
}
public void myEventHandler(object sender, EventArgs e, int i)
{
MessageBox.Show("Test: " + i);
}
感谢您的帮助! Florian