我的基于桌面的WPF应用程序(4.0)与数据库协同工作,为此,它应该在应用程序启动时与SQL Server建立连接。当然,这个操作需要一些时间,用户不得不等待几秒钟(3-5),而.Net Framework启动并连接到SQL Server。如果在WPF 4.0中使用启动屏幕,带有异常详细信息的消息框立即消失
在这种情况下,我决定使用启动画面。我在解决方案中添加了一些图片,将构建操作设置为“闪屏”,编译我的应用程序,它的工作原理!如果尝试连接到SQL Server失败(例如服务器不可用),则我的应用程序会抛出异常,并向用户MessageBox显示警告和异常详细信息,用户按下OK和应用程序关闭(Application.Current.Shutdown())。如果我在SQL Server不可用的情况下运行应用程序,应用程序会抛出一个异常(正如我在我的代码中所提到的),但是现在,在添加了启动画面的情况下,带有通知的MessageBox出现1-2秒,并且在没有任何用户交互的情况下消失,用户甚至不能读取写在其上的内容。
我发现,如果我试图展示2个MessagBoxes,那么第一个会立即出现并消失,但第二个将保持到用户按OK。
我的问题是: 如何解决这个问题? 我想使用启动画面并显示一个MessageBox,如果抛出异常并让用户决定何时关闭它(用户单击确定按钮)。
这里是一个流程图描述我的应用程序的逻辑:
无异常(良好的情况下): 运行的应用程序→启动画面→如果(isConnectedToSQL =真)→显示主窗口...
,出现异常(不好的情况): 运行应用程序→启动屏幕→if(isConnectedToSQL = false)→抛出异常→显示具有异常详细信息的消息框→用户单击确定→关闭应用程序。
谢谢。