Windows窗体桌面应用程序注销

本文关键字:注销 应用程序 桌面 窗体 Windows | 更新日期: 2023-09-27 18:29:51

在我的应用程序Login Form启动时,我只简单地存储了用户名和密码,并进行了比较以验证用户,如果用户有效,则打开MDIparent Form,现在我想为此应用程序创建logout。我该怎么做?

当我搜索时,我发现我可以在FormClosing Event或FormClosed Event上这样做,但应该用什么代码写,对于哪种形式,只有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..");
            }       
        }

Windows窗体桌面应用程序注销

在表单关闭事件中尝试以下代码

Application.Exit();-通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口。

System.Environment.Exit(1);-终止此进程,并向底层操作系统提供指定的退出代码。

Application.Restart()-关闭应用程序并立即启动新实例。

来源:http://msdn.microsoft.com/

您应该在取消按钮或表单关闭事件上尝试此操作。。。。。。。。。。。。。。。。。。。。。。。。。。。Application.Exit();

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

如果有人仍然需要这个解决方案:

private void logoutButton_Click(object sender, EventArgs e)
{
   this.close();
}