在当前正在用户测试中的客户端应用程序中捕获未处理的异常时,我编写了这样的代码。
catch(Exception ex)
{
var result = MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK);
Current.Shutdown();
}
但是消息框只会很快出现,然后程序就会关闭。为什么代码不等待结果明显。我该怎么做?
最佳答案
我有一个类似的问题。问题是在显示主窗口之前抛出异常,因此没有窗口可以显示消息框。 Swamy 的回答只是强制了一个时间延迟,以便可以初始化窗口。海事组织不太优雅。找到了更好的解决方案 [here] WPF MessageBox not waiting for result [WPF NotifyIcon] 。
只需在 MessageBoxOptions.DefaultDesktopOnly
中指定 MessageBox.Show(....) method
。
关于c# - 不等待 messageBox 的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12060116/