2013-09-01 174 views
0

开始我的应用程序Login Form出现我已经简单地存储了用户名和密码,并对验证用户进行了比较,如果用户有效的话比MDIparent Form被打开,现在我想为该应用程序创建logout。我如何做到这一点?Windows Form桌面应用程序注销

当我搜索时,我发现我可以在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.."); 
      }  
     } 
+0

当您关闭表单时它会自动注销。你的表单关闭时你想要什么? – Shaharyar

+0

关闭后我想再次打开“登录窗体”,我应该只写他们的'LoginForm.show()'? – Durga

+0

只需粘贴代码如何在成功登录后显示MDI表单 – Shaharyar

回答

3

尝试使用以下代码的形式关闭事件

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

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

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

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

+1

谢谢'Application.Restart()'为我工作。 – Durga

1

你应该尝试这种在取消按钮或窗体关闭事件................. ..........使用Link Label你只需要提高click事件的它Application.Exit();

+0

Yeaa它对我来说也是比xxxxx ......... –

+0

如何在'Linklabel click event'中合并'closing event'? – Durga

+0

这将关闭整个应用程序。 OP不想要这个 – Shaharyar

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 
     } 

退出。在Form2构造写这样的代码:

linkLabel1.Click += linkLabel1_Click; 

然后创建一个方法:

void linkLabel1_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
    } 
+0

使用这个会发生什么,以及注销链接呢? – Durga

+0

它将在关闭“MDI”表单后显示您的“登录”表单。你想要什么作为'注销'?我无法理解那部分 – Shaharyar

+0

我使用'链接标签'作为'注销'如果我使用关闭事件,我可以如何进行此锻炼?或者我如何使用这些?如何控制这条线'这。Show();' – Durga