我自己做了一个登录窗体,等用户输入账户和密码之后从数据库验证,验证成功之后显示主界面然后隐藏登录窗体,但是有时候在系统第一次访问登录的时候,就会出现登录时间很长,导致主界面都显示出来了,但是登录窗体并没有隐藏的情况,点击登录窗体的关闭按钮整个程序就都结束了 ?这个是什么原因啊?我的main函数启动的是Application.Run(new frmLogin());登录窗体,有没有办法解决这个问题?

解决方案 »

  1.   

    Application.Run(new frmLogin());
    这句决定了应用程序的消息泵都在frmLogin,点叉叉肯定就退出了...
      

  2.   

    不知道。
    不过我登陆基本都是这样做的:
    运行主窗体,在load事件中showDialog登陆窗体,然后监听登陆窗体的事件
      

  3.   

    你要点击登录才显示主界面,是在CLICK事件里new 主界面form吧。
    出现登录时间很长,导致主界面都显示出来了?这怎么会和时间有关?
      

  4.   


    login lg = new login();
    if (DialogResult.OK == lg.ShowDialog())
    {
        Application.Run(new UI.FrmMain());//打开你指定的窗口
    }
      

  5.   

           private void Main_Load(object sender, EventArgs e)
            {
                bLogin = false;
                this.Visible = false;
                Login FrmLogin = new Login();
                FrmLogin.ShowDialog();
                if (bLogin == true)
                {
                    this.Visible = true;
      

  6.   

    登录按钮写事件,首先跳转至登录后的主界面,new一个对象,然后关闭登录界面就行了。
      

  7.   

    参考如何用C#写一个简单的Login窗口
      

  8.   

    Application.Run(new mainFrm());mainFrm.initilise()
    {
    loginfrm frm=new loginfrm();
    dialogresult ds=frm.showdialog();
    if(ds==dialog.cacel)
    {
    frm.displose();
    mainfrm.dispose();
    }
    }