繁体   English   中英

Windows Form Desktop应用程序注销

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM