比如说拿登录的窗体作为主窗体,当登录成功后,主窗体被隐藏,另一个副窗体被打开,而当关闭副窗体时如何把主窗体也自动关掉?

解决方案 »

  1.   

    在副窗体里的close事件里写个  主窗体.close 不知道行不行
      

  2.   

    参看
    http://blog.csdn.net/Knight94/archive/2006/04/06/652394.aspx
      

  3.   

    你为何将主窗体只是隐藏呢,为何不关闭form1.Hide();
    Form2 demo=New Form2();
    demo.ShowDialog();form1.Disponse();
      

  4.   

    在构造副窗体的时候,把主窗体也传过去,这样简单一点.
    Form form = new Form();
    Form2(From f)//副窗体
    {
       this.form = f;
    }
    //
    closing(xxxx)
    {
        this.form.close();
    }
      

  5.   

    在副窗体的关闭事件中加上
    application.close()就行啦呀
      

  6.   

    application.close()  可以实现
      

  7.   

    修改Main函数,不让Application运行在你说的主窗体上。所有窗体动态创建。
      

  8.   

    public static void Main()
    {
    Form1 mainForm =New Form1();
    form1.ShowDialog();
    //something need do;
    Form2 demo=New Form2();
    demo.ShowDialog();
    }
      

  9.   

    楼主为什么不想想,在主窗体load中加入登陆窗体显示呢?  
    如:frmlong a = new frmlong()
       if (a.showdialog ==DialogResult.Ok)
    {
       //代码....
    }这样做就不会去考虑隐藏窗体怎么关闭~~而且也会将隐藏的窗体一直放入内存!~~
      

  10.   

    LoginForm a = new LoginForm();
    if (a.showdialog ==DialogResult.Ok)
    {
       Application.Run( new MainForm());
    }
      

  11.   

    使用MoveNext应该能解决这问题