你在 button1的click事件里面 调用 Class1 的 Hello静态方法就行了 
{
        Class1.Hello(参数);//注意 调用静态方法 用类名
}

解决方案 »

  1.   

    to seabirdforever(听海) 
    关键是button1也是动态生成的呀
      

  2.   

    Button btn = new Button();
    btn.Click += new EventHandler( this.Button_Clicked );
    //你可以把Click事件绑定到多个方法,也不一定要this.XXX,别的类的方法也可以,但是方法都要是与EventHandler委托有同样的方法签名,也就是方法的参数要一致事件方法:
    private void Button_Clicked( object sender,EventArgs e )
    {
       //处理事件
    }
      

  3.   

    在生成 Button的时候
    这样写。
    Button aa = new Button();
    aa.Click += new EventHandler(cc);
    Controls.Add(aa);
    private void cc(object sender, System.EventArgs e)
    {
    Class1.Hello(参数);//注意 调用静态方法 用类名
    }
      

  4.   

    动态生成的话就像楼上两位说的。都不一样的概念嘛!
    只是注意:Button aa不要定义为局部的。
      

  5.   

    我觉得搂主不是你们所说的那个意思。
    他似乎是说,有n个方法,在程序运行的时候,可以让用户输入click button1后运行的是哪个类的那个方法。
      

  6.   

    你们都理解错了我的意思了。eyesluo(啊眼) 理解是正确的,我再重新说一遍我的问题吧。
        我现在有个程序,需要动态生成控件,然后将这个动态生成的控件的事件去绑定方法,
    而方法事先是不知道的,只有在运行的时候由用户输入(字符串)
        例如,我动态生成了一个控件button1,现在我要将button1的click事件和Class1中
    的hello静态方法绑定,注意,事先并不知道要用hello方法,就是说传过来的参数是
    “Class1。hello“这种字符串,如何通过这个字符串达到click事件被触发的时候就能够
    调用hello方法,谢谢
      

  7.   

    to  timmy3310(Tim) ( ) 
    老弟,我也不想呀,现在上面要我做一个自动界面生成器,控件都是动态生成的,还要能够
    响应事件
      

  8.   

    好难,用字符串指定已知类的未知事件…………能不能这样,你定义很多类,他们拥有相同的一个事件。然后根据字符串决定生成哪个类的实例,然后去触发特定的那个事件 ?  呵呵,黔驴技穷,凑上的方法。给个用字符串定义要生成的窗口的例子。希望能有用Form2 form2 = new Form2();
    string strClassName = form2.GetType().ToString();
    Form frm = (Form)Activator.CreateInstance( Type.GetType( strClassName ) );
    frm.Show();
      

  9.   

    能否考虑依靠一个中间过程,让button1的click事件间接触发“Class1。hello“。
      

  10.   

    to   timmy3310(Tim)
    首先谢谢你
    我的程序是这样的,它是一个自动界面生成器,它是根据使用者的需要定制界面,即动态生成
    界面,对于生成的界面和界面元素,要能够绑定事件,就是说你要做一个。net的开发环境
    的简化版。
        由于界面元素都是动态生成的,在绑定事件的时候,又不能事先知道应该绑定哪个方法。
    例如:用户现在动态生成了button1这个控件,用户需要将button1的click事件和Class1这个
    类的hello方法绑定。这些在我设计这个生成器的时候都是不知道的。
      

  11.   

    to   timmy3310(Tim)
    关于反射技术,我这几天都在考虑,但是最后这个办法还是行不通的
      

  12.   

    to zhangbat(jim.) 
    首先谢谢你,你的那个办法我也考虑了,只是这是事件绑定,不是调用方法,这个办法好像
    也行不通
      

  13.   

    to tj_dns(愉快的登山者) 
    首先谢谢你,你说的办法我也考虑过,只是代码没有地方加
      

  14.   

    反射是可以做的,给你例子给你:string className = //用户要调用的类
    string methodName = //用户要调用的方法Type targetType = Type.GetType( className );//注意Class要完全限定名,如果不在当前装配件,需要先Load装配件的实例,然后调用Assembly的GetType方法object target = Activator.CreateInstance( targetType ); //创建一个实例来调用方法Button btn = new Button();EventHandler handler = (EventHandler)Delegate.CreateDelegate( typeof(EventHandler),target,methodName );btn.Click += handler;这是实例化对象的做法,如果你的方法是静态的,那么不需要实例化一个对象,这样即可:string className = //用户要调用的类
    string methodName = //用户要调用的方法Type targetType = Type.GetType( className );
    Button btn = new Button();EventHandler handler = (EventHandler)Delegate.CreateDelegate( typeof(EventHandler),targetType,methodName );btn.Click += handler;
      

  15.   

    要注意的是,输入的方法一定要和System.EventHandler委托的方法签名一样,否则在Delegate.CreateDelegate的时候将会抛出异常
      

  16.   

    已经解决,感谢大家,特别谢谢timmy3310(Tim),实在是太强了