不等待messageBox的结果

Ing*_*als 4 .net c# wpf messagebox

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

catch(Exception ex)
{
    var result = MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK);
    Current.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)

但是消息框只会很快出现,然后程序关闭.为什么代码不等待结果显而易见.我该怎么办?

小智 5

我有类似的问题.问题是在显示主窗口之前抛出异常,因此没有窗口显示消息框.Swamy的回答仅仅是一个时间延迟,因此可以初始化窗口.IMO不太优雅.找到了更好的解决方案[这里] WPF MessageBox不等待结果[WPF NotifyIcon].

只需指定MessageBoxOptions.DefaultDesktopOnlyMessageBox.Show(....) method.


Gre*_*mar 2

您是否在脚本或实际的 .net 应用程序中使用此代码?您在消息框按钮中缺少“s”。你应该写这样的代码:

try
{
    throw new Exception("My new exception");
}
catch (Exception ex)
{
    DialogResult result = MessageBox.Show(ex.Message, "Error",MessageBoxButtons.OK);
} 
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您应该查看引发异常的代码以进行进一步调试...