2009-04-15 42 views
5

Vì google đã thất bại trong 5-10 phút qua, tôi có một câu hỏi nhanh. Tôi muốn chuyển một giá trị param vào một hàm mà tôi gọi từ một Trình xử lý sự kiện button.click. Sự kiện này hiện đang sử dụng thêmTruyền tham số cho System.EventHandler bằng C#

MyButton.Click = new System.EventHandler(MyButton_click); 

Nhưng tôi muốn các chức năng để nhận:

private void MyButton_click(int ID) 
{ 
... 
} 

Làm thế nào tôi có thể thay đổi khai EventHandler của tôi vì vậy mà điều này có thể được thực hiện?

Trả lời

13

Button.Click được xác định là đúng và không có cách nào để thay đổi. Tuy nhiên,

myButton.Click += delegate { MyButton_click(1); } 

sẽ thực hiện công việc.

+0

Làm việc như một nét duyên dáng. Cảm ơn. – corymathews

+1

phiên bản lambda: 'myButton.Click + = (người gửi, e) => MyButton_Click (1);' – ShawnFeatherly

0

bạn có thể sử dụng CommandArgument property và sau đó cast một người gửi trong xử lý sự kiện của bạn để một kiểu nút để có được những giá trị CommandArgument

Các vấn đề liên quan