在visual C#中,發生異常時,請調用消息框以顯示錯誤消息。如何在不等待消息框關閉的情況下繼續執行我的程序。如何顯示消息框並保持應用程序執行
回答
除了使用MessageBox.Show
之外,您可以製作自己的錯誤消息Form
並使用Form.Show()
方法以非模式方式顯示。這將允許你的UI線程繼續滾動。
當然這也意味着你將不得不自己設置一些東西,比如大小,文本對齊方式等等。但是,如果你真的只想用它來完成一項任務,那應該不會太麻煩。我不得不說,但我覺得你的方法很奇怪。通常,當發生錯誤並且想讓用戶知道該錯誤時,您希望應用程序保持到消息框關閉。不這樣做可能會導致很多不確定的問題。例如:如果在錯誤已經顯示時發生另一個錯誤會發生什麼?
如果在UI線程處於保持狀態時需要完成特定任務,我強烈建議您在可能的情況下考慮在新線程中執行此操作。這應該給你想要的,同時保持最終用戶的體驗達到預期。
感謝您的建議 –
如果你絕對需要在非阻塞方式運行它,你可以初始化一個單獨的線程的消息框:
Task.Run(() => MessageBox.Show("Test"));
此外,如果你要傳達的對話的結果(OK /取消),可能整個方法必須在新線程中運行。
Task.Run(
() =>
{
if (MessageBox.Show("Test", "test", MessageBoxButtons.OkCancel) == DialogResult.OK)
{
MessageBox.Show("Ok");
}
else
{
MessageBox.Show("Cancel");
}
}
);
請注意在其他線程中運行UI操作。 – Crono
絕對不建議。如果您絕對必須以非阻塞方式顯示消息框,我寧願將其作爲最後手段。 – PiotrWolkowski
- 1. Apache Flink:如何並行執行但保持消息順序?
- 2. 如何在我的應用程序的textview上顯示消息,但不在消息框上顯示
- 3. Facebook應用程序,檢查用戶喜歡並顯示消息
- 4. 在應用程序啓動時不再顯示消息框
- 5. 在Java應用程序中顯示消息框或通知欄?
- 6. Silverlight應用程序不顯示消息框
- 7. 控制檯應用程序顯示錯誤消息框
- 8. 當應用程序在後臺時顯示消息框
- 9. 應用程序崩潰,並顯示消息「Usage:leveldbutil command ...」
- 10. 如何在應用程序執行之間保持webview cookie?
- 11. 如何保持用戶活動日誌並顯示在Android應用程序中?
- 12. 如何在我的WCF應用程序中顯示消息?
- 13. 如何防止Android顯示應用程序停止消息
- 14. Azure Web應用程序如何顯示錯誤消息
- 15. 如何在MVC應用程序中顯示「加載」消息?
- 16. 如何在Android應用程序中顯示警報消息
- 17. 如何在所有線程完成執行後顯示消息框?
- 18. 如何顯示應用程序外的應用程序信息
- 19. 顯示消息框
- 20. Android應用程序,如何登錄網站並顯示信息?
- 21. 如果程序未運行,如何顯示錯誤消息?
- 22. 如何在執行Anydac Query時保持程序響應?
- 23. CocoaTouch - iPhone應用程序 - 執行前繼續顯示對話框
- 24. 如何顯示消息框在MVVM
- 25. 如何在javascript中顯示消息框
- 26. 剃鬚刀 - 如何顯示消息框?
- 27. 如何顯示組合框消息
- 28. 想要在任何應用程序關閉時顯示一個消息框
- 29. ASP.NET Web應用程序的消息框
- 30. WPF應用程序消息框
您是否需要顯示消息框?爲什麼不把錯誤記錄到控制檯或文本文件並從那裏讀取?否則請參閱http://stackoverflow.com/questions/10634663/messagebox-that-allows-a-process-to-continue-automatically – KJ3
我希望這可以幫助。 http://stackoverflow.com/questions/3059487/create-a-modeless-messagebox – Jumpei
你應該記錄異常,然後_fix the problem_。例外通常意味着你的代碼被破壞了。所以修復它。 –