2011-09-27 104 views
0

我想找出爲什麼ShowDialog()不顯示對話框的原因。 我有一個應用程序,我有一個憑證對話框(A)供用戶輸入憑證。並且我有另一個對話框(B)根據用戶的憑證顯示一些自定義信息。 用戶在A中輸入憑據後,我正在做一些事情。 當我試圖在B中顯示味精時,ShowDialog()未顯示對話框B.顯示對話框不顯示對話框

你們能想出任何原因嗎?

下面是代碼:

bool isInternetConnected = class.CheckInternetConnection(ref error); 

if(!String.IsnUllOrEMpty(error)) 
{ 
       DialogBox dialogBox = new DialogBox(); 
       dialogBox.Title = "Credentials"; 
       dialogBox.State = DialogBox.States.NoFooter; 
       dialogBox.ShowInTaskbar = false; 

       CredentialsContent Credentials = new CredentialsContent(); 
       Credentials.ContentCompleted += new EventHandler<ContentCompletedEventArgs>(
                    dialogBox.OnContentCompleted); 

       dialogBox.MainContent = Credentials; 
       bool? result = dialogBox.ShowDialog(); 
       hasAccess = result.HasValue ? result.Value : false; 

} 

UpdateDialog updateDialog = new UpdateDialog(); 
       updateDialog.ShowModal = true; 
       bool? isTrue = updateDialog.ShowDialog(); 
+0

你看過程序的執行嗎?是否有一些邏輯語句導致執行通過ShowDialog調用,例如If或Select Case?是否有例外(即使它不會使程序崩潰,請檢查輸出窗口)。 – CodeWarrior

+0

我正在調試程序,它只是將步驟showdialog()傳遞給對話框B步驟,而不是在那裏停止並顯示對話框。 – alice7

+0

@ alice7:你可以請張貼一些代碼嗎? – MichaelS

回答

1

我把它解決了。 正在發生的事情是,窗戶正在將第一個窗口(A)當作主窗口。當窗戶關閉時,下一個窗口(B)變得無關緊要。 所以即使使用showdialog()它也沒有顯示它。

訣竅是在應用程序的開始定義UpdateDialog()。 同樣的問題在這裏回答: Open new window after first