from1中一个butten1,点击butten1在from2上创建个butten2,butten2的Click事件中执行关闭from2,(注:不是new出来)
求解

解决方案 »

  1.   

    Button b2=new Button();
    b2.Click+=new EventHander(f2.TestClose);
    f2.Controls.add(b2);
      

  2.   

    去了解一下代理的概念在form1点button1后相当于发送一个通知到form2 
    form2接到通知后执行button2的操作。顺便学习一下,以后用的很多的,嘿嘿
      

  3.   

    怎么来添加代理???是个什么代理???
    xhan2000 
    大力水手.net
    你写的这个是把控件放到from2上面,不是我要的关闭,我要的是在b2.Click+=new EventHander(f2.TestClose); 
    的Click事件中执行关闭from2,再把from1显示出来,from1显示的时候不是new出来的,还要原来的from1
      

  4.   

    Form1中增加: 
    static   Form1   Instance; Form1的Load事件中增加: 
    Form1.Instance=this; Form2中: 
    button1_click(...) 

      this.Close();//关闭自己
    }这样也关不掉啊。还是关闭from1,
      

  5.   

    每个各窗口建立一个静态对象,
    public static Form1 MyWin1;
    public static Form2 MyWin2;打开窗口时要这样打开:
    Form1.MyWin1 = new Form1();
    MyWin1.show();
    Form2.MyWin2 = new Form2();
    MyWin2.show();关的时候 在代码时Form1.MyWin1.close()
      

  6.   

    谢谢9楼,其实就是个public就解决了,谢谢了
      

  7.   

    跟你上个帖子不是类似的么
    private void btnCreat_Click(object sender, EventArgs e)
            {
                Form2 frm = new Form2();
                Button btn = new Button();
                btn.Click += new EventHandler(btn_Click);//注册事件
                TextBox txtTest = new TextBox();
                txtTest.Name = "csdn";
                txtTest.Location = new Point(btn.Width,0);//调整位置
                frm.Controls.Add(btn);
                frm.Controls.Add(txtTest);
                frm.Show();
            }        void btn_Click(object sender, EventArgs e)
            {    
               //找到btn所在窗体中的Name为csdn的TextBox的控件,赋值。
                //((TextBox)((Button)sender).Parent.Controls.Find("csdn", false)[0]).Text = "aaaaaaa";        
                (Button)sender).Parent.Close();
            }
      

  8.   

    void btn_Click(object sender, EventArgs e)
            {    
               //找到btn所在窗体中的Name为csdn的TextBox的控件,赋值。
                //((TextBox)((Button)sender).Parent.Controls.Find("csdn", false)[0]).Text = "aaaaaaa";        
                ((Form)((Button)sender)).Parent.Close();
            }
    用好sender对象就可以了.