2013-09-01 57 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