[英]Windows Form Desktop application Log out
在我的应用程序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..");
}
}
在表单关闭事件中尝试以下代码
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();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.