0

アプリケーションの開始時に、Login Formユーザー名とパスワードを保存し、ユーザーが有効である場合はユーザーの検証を比較しました。このアプリケーション用MDIparent Formに作成したいと思います。logoutどうすればこれを行うことができますか?

検索すると、 FormClosing イベントまたは FormClosed イベントでこれを実行できることがわかりましたが、その中にどのコードをどのフォームに対して記述する必要があるかだけDispose();で十分ですか?

再表示したい場合はどうすればよいLogin Formですか?

このようにログイン成功後に MDI フォームを表示する

private void login_Click(object sender, EventArgs e)
        {   
            //if password true then send true           
            bool value = namePasswordEntry(getHashedUserName, txtUserName.Text, getHashedPassword, txtPassword.Text);
            if (value ==true)
            {                
                MessageBox.Show("Thank you for activation!");
                this.Hide();
                Form2 pfrm = new Form2(txtUserName.Text);
                pfrm.ShowDialog();    
            }

            else
            {
                MessageBox.Show("Invalid LoginName or Password..");
            }       
        }
4

4 に答える 4

1

キャンセル ボタンまたはフォームを閉じるイベントでこれを試す必要があります。Application.Exit();

于 2013-09-01T06:42:12.803 に答える
0
if (value ==true)
        {                
            MessageBox.Show("Thank you for activation!");
            this.Hide();
            Form2 pfrm = new Form2(txtUserName.Text);
            pfrm.ShowDialog(); 
            pfrom.Dispose(); //because user has logged out so the data must be flushed, by "Disposing" it will not be in the RAM anymore, so your hanging problem will be solved
            this.Show(); //just add this line here   
        }

使用してログアウトするには、そのイベントを発生Link Labelさせるだけです。コンストラクターで次clickのコードを記述します。Form2

linkLabel1.Click += linkLabel1_Click;

次に、メソッドを作成します。

void linkLabel1_Click(object sender, EventArgs e)
    {
        this.Close();
    }
于 2013-09-01T06:55:42.943 に答える
0

誰かがまだこのソリューションを必要としている場合:

private void logoutButton_Click(object sender, EventArgs e)
{

   this.close();

}
于 2021-09-15T13:44:22.430 に答える