1

我正在为单击登录按钮的主表单创建一个实例,并在单击注销按钮时再次为登录表单创建实例。我的代码是

      if ((txtUsrNm.Text == "Admin") && (txtPswd.Text == "Admin"))
        {
            mainForm mainFm = new mainForm();
            mainFm.userNam = txtUsrNm.Text;
            mainFm.pasWrd = txtPswd.Text;
            mainFm.Show();
            this.Hide();
        }
         else
        {
            MessageBox.Show("Invalid Username or Password.");
        }

并再次在注销按钮

        this.Hide();
        loginFrm lgn = new loginFrm();
        lgn.Show();

如果我尝试关闭而不是隐藏,则整个应用程序正在关闭。通过这样做,Application.OpenForms 计数在每次登录和注销操作时都会增加。如何在windows应用程序中实现登录和注销操作。是否有任何其他想法来实现此操作。感谢您

4

1 回答 1

4

您需要在调用 Application.Run() 之前将登录部分放在 Program.cs 中,例如:

 if (new frmLogin().ShowDialog() == DialogResult.OK)
 {
     Application.Run(new frmMain());
 }

然后在登录表单中输入登录代码。用户登录后,表单登录将被关闭并设置 this.dialogresualt = dialogresult.ok; 例如:

if (txtUserName.Text == "blah"
      && txtPassword.Text == "blah")
   {
     txtPassword.BackColor = Color.YellowGreen;
     txtUserName.BackColor = Color.YellowGreen;
     this.DialogResult = DialogResult.OK;
   }
   else
   {
     txtPassword.BackColor = Color.Salmon;
     txtUserName.BackColor = Color.Salmon;
    }
于 2013-01-17T09:32:16.060 回答