我的基於桌面的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)→拋出異常→顯示具有異常詳細信息的消息框→用戶單擊確定→關閉應用程序。
謝謝。