2012-01-27 35 views
2

所以,我有專門爲持有事件處理方法,我想在多個其他類使用由類:C#創建事件處理程序「方法的名稱應爲」錯誤

class MyHandler 
{ 
    public MyHandler() 
    { 
    } 

    public void Method1(object sender, EventArgs e) 
    { 

    } 
} 

現在,如果我做的:

button1.Click += new System.EventHandler(this, MyHandler.Method1); 

我得到標題中提到的錯誤。我在這裏做錯了什麼?

回答

5

目前還不清楚是什麼你的論點是爲了要供。如果事件申購代碼爲MyHandler實例方法中你只是想:

button1.Click += new System.EventHandler(Method1); 

以上簡要:

button1.Click += Method1; 

如果從不同類的,您可能需要創建一個實例MyHandler,例如

MyHandler handler = new MyHandler(); 
button1.Click += handler.Method1; 

或使Method1方法靜態和訂閱像這樣:

button1.Click += MyHandler.Method1; 
+0

如何愚蠢的我忘了.. – user1151923 2012-01-27 14:50:12

3

使用此

class MyHandler 
{ 
    public static void Method1(object sender, EventArgs e) 
    { 

    } 
} 

button1.Click += MyHandler.Method1; 
相關問題