我将在 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);
}
感谢您的帮助!
弗洛里安