在当前正在用户测试中的客户端应用程序中捕获未处理的异常时,我编写了这样的代码。

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/

10-10 22:38