程序开始是一个Login窗体,验证登录用户信息。通过验证后Login窗体Hide,打开frmMain主窗体。
怎样在关闭frmMain主窗体时同时关闭Login窗体和其他已经打开的窗体呢?应该放在哪个事件中?

解决方案 »

  1.   

    Login窗体Hide是为了以后用户登出切换用的。
      

  2.   

    这个作法是不正确的,因为这时你的登陆窗口成为了主窗口,在登陆成功之后你只能隐藏,但是这时资源没有释放,要是释放的话会退出程序.你可以采用另一个技巧,在启动时显示主窗体,并在它的load事件中弹出登陆窗口(模式的也可以)进行验证,成功就可以操作主窗口,否则你知道该如何了.....
      

  3.   

    login以后关闭loginForm
    然后Application.Run(new MainForm())来创建主窗口不好吗
    那样的话 Login关闭以后 程序不会退出
    而且登陆不成功的话 也不必创建MainForm
      

  4.   

        Environment.Exit(0);
      

  5.   

    既然叫frmMain就应该让它是真正的main。
      

  6.   

    直接使用 application.exit就可以了当然了,如果你一定要用frmmain.close的话,那么,请将你的frmLogin声明为全局变量然后,在frmmain.close前调用 frmlogin.close就可以了
      

  7.   

    应该是 frmMain是主窗体在frmMain初始化之前 new 一个 login窗体.要用showdialog函数,不要用show
    这样.关闭login窗体的时候就dispose了.一般来说,只要不是你new的,你就不要管他