我想對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