我想对Button_Click事件将值传递给动态按钮的事件处理程序
public MyClass()
{
Int64 po = 123456;
foreach (Expense expense in pr.Expenses)
{
Button btnExpenseDetail = new Button();
btnExpenseDetail.Text = expense.ExpenseName;
btnExpenseDetail.Location = new Point(startLocation.X + 410, startLocation.Y + (23 *
btnExpenseDetail.Click += (sender, e) => { MyHandler(sender, e, po , expense.ExpenseName); };
pnlProjectSummary_Expenses.Controls.Add(btnExpenseDetail);
}
}
void MyHandler(object sender, EventArgs e, string po, string category)
{
FormExpenseDetails ed = new FormExpenseDetails(po, category);
ed.Show();
}
我使用Visual Studio 2010的C#经过两个值。在面板上,每个按钮的文本值都是不同的。但按钮的Click_Events行为完全相同。有人能告诉我哪一部分代码我得到这个逻辑错误吗?
============================================== ==========================
请不要用“C#”和这样的前缀您的图书。这就是标签的用途。 – 2012-02-09 08:14:52