2011-09-27 147 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