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();

Hideの代わりに閉じようとすると、アプリケーション全体が閉じます。この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 に答える