象很多的系统一样,开始一个登陆界面,然后进到主菜单界面
功能都已经实现了,现在有一个很简单的问题!
我想点击登陆界面的“登陆”后,关闭登陆界面进入到主菜单界面 ,下面的语句为什么不行?
this.Close();//关闭密码验证窗体
MainForm mainForm = new MainForm();//登陆主窗体
mainForm.Show();如果没有this.Close();能顺利登陆主窗体,但是密码验证窗体没关闭!
加了这个以后整个项目都关了!怎么回事?请问我该怎么改?
谢谢!

解决方案 »

  1.   

    这是因为你的登录窗体是主窗体,你关闭后整个程序都退出了。解决方法有两种:
    (1)不要将登录窗体设为主窗体(主窗体有static void Main() 
    {
    Application.Run(new frmLogin());
    }语句),而把mainForm作为主窗体,将登录窗体设为对话框模式。
    (2)将登录窗体隐藏而不是关闭。
      

  2.   

    也可以将Login窗体放到主窗口的构造函数中
    void MainFrm()
    {
       Login lg = new Login();
       lg.show();
    }
      

  3.   

    在login的main里:
    把Application.Run(new frmLogin());改为:
    (new frmLogin()).Show() ;
    Application.Run();然后在登陆时就可以直接关掉,然后再打开main窗体了。
      

  4.   

    这是Form.ShowDialog 与  Form.Show区别的问题.
    你不妨先查查这个.
      

  5.   

    this.Hide();
    GQ.SelectInfo.frmZsetAccount frmZsetAccount = new GQ.SelectInfo.frmZsetAccount();
    frmZsetAccount.ShowDialog();
    this.Close();
      

  6.   

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