2013-03-16 52 views
0

我有一個預訂應用程序,因此當您按下保存時,它會要求輸入用戶名和密碼,如果用戶名和密碼正確,則會保存預訂。但是,當它打開新窗口,並且新窗口關閉時,它不會進行保存,一旦窗口關閉,我如何使它進入保存狀態?如何在另一個窗口關閉後繼續運行代碼

這是保存按鈕的代碼。

private void btnSave_Click(object sender, RoutedEventArgs e) 
    { 
     if (CheckClashes(Convert.ToDateTime(date_picker.SelectedDate)) == false) 
     { 

      // tries to see if validation is ok 
      if (validate() == true) 
      { 
       var openLogin = new Login1(); 
       openLogin.Show(); 

       if (variables.login == true) 
       { 
//do save algorithm 

下面是檢查用戶的用戶名和密碼時新窗口的代碼。

private void submit_Click(object sender, RoutedEventArgs e) 
    { 
     if (Validate() == true) 
     { 

      try 
      { 
       //authenticates user here 

       if (hash1 == existingpassword.ToString()) 
       { 
        variables.login = true; 
        MessageBox.Show("User accepted."); 
        this.Close(); 
       } 
       else 
       { 
        MessageBox.Show("Incorrect username or password."); 

        variables.login = false; 
       } 

回答

1

更換openLogin.Show()openLogin.ShowDialog()。 這將阻止調用線程,直到登錄窗口關閉。

+0

非常感謝,其工作 – user2178133 2013-03-16 23:42:05

+0

沒有問題。將問題標記爲已回答,如果這解決了您的問題。 – mematei 2013-03-16 23:43:33

+0

完成,標記爲答案!非常感謝你的幫助!! – user2178133 2013-03-16 23:47:19

1

我認爲更好的辦法是表現出外形模態模式,就像這樣:

openLogin.ShowDialog(); 
if (openLogin.DialogResult == DialogResult.OK) 
{ 
    //save here 
} 
+0

有趣,我喜歡你的建議 – user2178133 2013-03-16 23:48:27

相關問題