我想用C#做一个验证窗口,验证成功后需要登陆主窗体,然后关闭登陆窗口,我是用的新建项系统自建的窗体做登陆验证窗口,然后新建的一个windows窗口,但我一关闭整个系统就关闭了请问如何关闭了登陆窗口进入主窗体
如:form1(登陆验证窗口)form2(主窗体)
验证成功form1关闭加载form2
谢谢。。

解决方案 »

  1.   

    在form1上打开form2,form2是基于form1的,form1关了,程序就中断了楼主可以一开始就打开主窗口,只不过它不显示(visible=false),在主窗口上打开登陆窗口,登陆成功则关闭并显示主窗口
      

  2.   

    if(txtuser.Text.Trim()=="")
    {
    MessageBox.Show("用户名不能为空!","注意",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    else if(txtpwd.Text.Trim()=="")
    {
    MessageBox.Show("密码不能为空!","注意",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    else
    {
    if(i<2)
    {
    string strcheck="select count(*) from userinfo where user=@Username and pwd=@Password";
    OleDbCommand cmd=new OleDbCommand(strcheck,con);
    cmd.Parameters.Add("@Username",System.Data.OleDb.OleDbType.VarChar,10);
    cmd.Parameters.Add("@Password",System.Data.OleDb.OleDbType.VarChar,10);
    cmd.Parameters["@Username"].Value=txtuser.Text.ToString().Trim();
    cmd.Parameters["@Password"].Value=conn.Encrypt(txtpwd.Text.ToString().Trim());//加密
    cmd.Connection.Open();
    int n=(int)cmd.ExecuteScalar();
    cmd.Connection.Close();
    cmd.Dispose();
    if(n!=0)
    {
    //登录成功
            this.Close();
    daybook InputForm =new daybook();//打开
    InputForm.ShowDialog();
    }
    else
    {
    MessageBox.Show("登录失败!请重新输入!","失败",MessageBoxButtons.OK,MessageBoxIcon.Warning);
    txtpwd.Text="";
    txtpwd.Focus();
    i++;
    }
    }
    else
    {
    MessageBox.Show("已超过三次!系统退出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
    this.Close();
    }
    }
      

  3.   

    if (_FrmLogin.DialogResult == DialogResult.OK)
    {
    FrmMain _FrmMain = new FrmMain();
    Application.Run(_FrmMain);
    }
      

  4.   

    this.Close();
    daybook InputForm =new daybook();//打开
    InputForm.ShowDialog();
    Close后还可以
    daybook InputForm =new daybook();//打开
    InputForm.ShowDialog();
    吗?
      

  5.   

    新建一个程序入口点文件,然后在此写入(当然要把主窗体中的Main()去掉)
    [STAThread]
    static void Main()
    {
       loginForm = new Frm_Login();
       loginForm.MessageSubmited += new EventHandler(HandleMessageSubmited);
       loginForm.ShowDialog();
       Application.Run(mainForm);
    }static void HandleMessageSubmited(object sender, System.EventArgs e)
    {
       if (loginForm.DialogResult == DialogResult.Cancel)
       {
    CurrentProcess.Kill();
    return;
       }
       if ( loginForm.UserName.Equals("") ) 
       {
    MessageBox.Show("用户名不可为空,请重新输入用户名!","错误提示");
    return;
       }
       ---判断程序---
      if(验证成功)
      {
        loginForm.DialogResult = DialogResult.OK;
      }
    }
    }