问题是这样的 我想在form2 里面点一个按钮 执行form1的一个按钮的事件 怎么弄~~ 
我把form1的按钮事件制成pubilc,然后form1 f1 = new from1 在 f1.这个事件,求高人指点一二~~最好详细点~~我新手~~~ 

解决方案 »

  1.   

     Form3 f = new Form3();
                f.button1_Click(null, null);
    如果你没有参数要传,就放个null
      

  2.   

    呃。我又一个想法。你可以试试。。把form1的按钮事件写在以个方法里。点form1的时候调用这个方法。点form2的时候也调用这个方法。可能这样来的更简单一些。。不知道楼主觉得呢。?
      

  3.   

    事件不就是个方法
    设成public static,调用就行了
    没做个这种,脑内剧场一下
      

  4.   

    Form1中:
    将按钮里面的方法写为public。
    打开Form2时:
    Form2 frmForm2 = new Form2();
    frmForm2.frmForm1 = this;
    frmForm2.show();Form2中:
    public Form1 frmForm1;
    在这里便可调用frmForm1.Form1中的方法();
      

  5.   

    1楼正解,但是你要将form1里面button1_Click事件改成Public,默认的是private或者可以将button1_Click事件里面所执行 的封装成方法,方法为public ,这样子更好些~
      

  6.   

    也可以使用委托:
    //子窗口中:
        public delegate void PictureClick(int iIndex, string strConName);
        class ChildFrom
        {           
            public event PictureClick ButtonClick;                  //命名事件
            
            public void Test()
            {
            //传出事件
            ButtonClick( 1, "Test" );
            }
        }//父窗口中:    
        class ParentFrom
        {           
        private ChildFrom child;
            public void SetEvent()
            {
            child= new ChildFrom();
            child.ButtonClick += this.PictureClick;
            }        private void PictureClick(int iIndex, string strConName)
            {
                Console.WriteLine(strConName);
            } 
        }//当子窗体的Test方法被执行时, 就回传事件至父窗体