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..");
}
}
在表单关闭事件中尝试以下代码
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();
}