2012-01-27 52 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; 
相关问题