必须有form2的引用,
创建form2
form2 frm2 = new form2();
frm2.show();现在关闭它,
frm2.close();

解决方案 »

  1.   

    那反过来
    启动窗体是Form1
    然后才显示Form2
    在通过Form2的按钮事件来关闭Form1
      

  2.   

    楼上的提醒我了
    可以在MainForm中用一个静态成员来保存form2的引用
    例如private static Form ChildForm;然后你就可以在MainForm中好象这样写
    //打开
    private void menuItem4_Click(object sender, System.EventArgs e)
    {
             WelcomeForm welcome = new WelcomeForm();
    welcome.Show();
    MainForm.ChildForm = welcome;
    }//关闭
    private void menuItem2_Click(object sender, System.EventArgs e)
    {
    MainForm.ChildForm.Close();
    }
      

  3.   

    1、在form2中加属性Form1,并在构造中引入参数
    2、
    在form1 中打开form2
    form2 f2 = new form2(this)
    f2.Form1.close();