我需要通過在下雨時打開一個彈出窗口來警告用戶,並通過按下一個按鈕來確認他知道天氣狀況,從而得到他\她的反饋。但我希望我的代碼的其他行在後臺運行。換句話說,我正在尋找一種解決方案,它不會導致程序停止,直到用戶按下按鈕。我使用Visual Studio 2013 WinForms。感謝大家。如何打開一個彈出窗口來警告用戶並在後臺運行?
回答
我不知道您的具體要求是什麼,但是
Messagebox.show
顯示,被稱爲「模式」的意思是,雖然它是開放的,你不能與其他窗口互動messagebkx
。要使用非模態消息框,請嘗試創建一個新窗體並使用messagebox.show
來顯示它。 您必須創建一個表單並使用Show()
來顯示。
請注意,messagebox.show
只要messagebox
已關閉,就會得到結果,非模態消息框不會執行此操作,您需要編寫一些代碼來處理事件。
如果不是活動,您可能正在尋找的是async
await
。
Async
和await
是兩個C#的關鍵字,更多信息可以在Microsoft文檔在這裏找到:http://msdn.microsoft.com/en-us/library/hh191443.aspx
如果你把一個async
方法稱爲showDialogAsync()
等待着用戶的結果,然後等待它放在一個新的線程,你將得到以下結果:
您的程序正常運行 符合條件且需要顯示對話框 showDialogAsync
被調用並等待。 Showdialogasync
等待用戶輸入。 控件返回調用方法showDialogAsync
當用戶單擊按鈕時,調用方法的await後的代碼將運行。
該圖示出了在一些async
代碼控制流和可能有幫助: http://i.msdn.microsoft.com/dynimg/IC612215.png
就我所知,問題是如何顯示非模態彈出窗口。這與異步/等待或多線程無關。 – dymanoid
- 1. onsubmit表單,警告用戶並在彈出窗口中打開?
- 2. 有一個彈出窗口打開後
- 3. 如何使用javascript在後臺打開彈出窗口?
- 4. 如何打開一個彈出窗口?
- 5. 如何打開彈出窗口並關閉彈出窗口?
- 6. 從另一個彈出窗口打開一個彈出窗口
- 7. 如何在關閉另一個窗口後打開一個彈出窗口?
- 8. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 9. Silverlight彈出窗口:如何在打開彈出窗口後調用方法?
- 10. 如何在彈出窗口中打開另一個彈出窗口?
- 11. 如何在彈出窗口中打開彈出窗口?
- 12. 如何打開彈出窗口並在關閉彈出窗口後在父窗口中完全回發
- 13. 如何打開一個彈出窗口,並返回值
- 14. 使用JQuery打開一個彈出窗口並打印
- 15. 打開彈出窗口中易於打開的彈出窗口
- 16. 在後臺打開窗口
- 17. 打開一個彈出窗口
- 18. 打開webview中彈出一個窗口
- 19. WPF打開彈出窗口並在彈出窗口打開時在主窗口上工作
- 20. 如何防止窗口(選項卡)打開一個新的,並提醒彈出窗口後執行
- 21. 如何解開一個彈出窗口?
- 22. 當前一個窗口保留在後臺時打開一個彈出窗口 - asp.net
- 23. 如何在PyQt4中打開一個彈出窗口?
- 24. 如何打開彈出式窗口
- 25. 用Javascript打開一個彈出窗口,並附上父窗口的元素
- 26. 打開HTML彈出窗口
- 27. Javascript打開彈出窗口並禁用父窗口
- 28. javafx IllegalArguementException當彈出窗口打開並在後臺點擊鼠標
- 29. 在客戶端註銷後打開彈出窗口信息
- 30. 當我們打開一個彈出窗口時如何禁用父窗口?
的WinForms? WPF? ASP.NET? – dymanoid
親愛的dymanoid,Visual Studio 2013 WinForms – GntS
你可以調用'YourWindow.Show()'而不是'YourWindow.ShowDialog()'來顯示你的彈出窗口。這會將您的窗口顯示爲非模態,並且您的代碼將繼續執行。 – dymanoid