我在C#中有兩種形式,一種是我打算用作對話框的結果,另一種是「主要」形式。如何設置另一個表單,以便form1中的代碼等待,直到第二個表單被解除,然後再繼續執行下一行代碼?C#創建自定義對話框結果表格
1
A
回答
3
您可以在form2上使用Form.ShowDialog方法。
// Some code in form1
var form2 = new Form2();
form2.ShowDialog();
// Note: this code will resume after form2 has been closed.
或者,您可以訂閱Form.Closed事件,當窗體2關閉運行一些代碼。
// Some code in form1
var form2 = new Form2();
form2.Closed += (s, e) {
// Note: this code will run after form2 has been closed.
};
form2.Show();
+0
當使用'ShowDialog'時,您應該將表單對象包裝在using語句中,因爲表單是一次性的。 – Amicable
0
的代碼可能是這樣的:
...
var o = new Form2();
o.ShowDialog();
// resumes after closure of Form2
...
,你可以在這裏做的另一件事是:
var res = o.ShowDialog();
if (res == DialogResult.Cancel)
{
// do something because the user canceled the dialog
}
此外,您可以設置默認接受和取消窗體上的按鈕。只要去Form
的屬性,並注意到CancelButton
和AcceptButton
。這有兩點:
- 確定由這些按鈕發送
DialogResult
。 - 管理輸入和Esc這些按鈕的擊鍵。
0
你可以試試ShowDialog方法:
if (MyForm.ShowDialog(this) == DialogResult.OK)
{
// Resume after closure on "OK"
}
else
{
// Resume after closure on "Cancel/Abort/No/None/Etc..."
}
-1
我認爲你是在談論custom dialogresult。
相關問題
- 1. 創建自定義jframe對話框
- 2. 創建自定義對話框
- 3. 試圖創建自定義對話框
- 4. 如何創建自定義對話框
- 5. 以mfc創建自定義對話框
- 6. 在android上創建自定義格式的對話框
- 7. 使用按鈕的網格創建自定義對話框
- 8. 如何創建自定義對話框並在android中接收結果?
- 9. 在預期的對話框區域中創建額外空間的自定義對話框結果
- 10. 如何使用自定義列表視圖創建自定義對話框
- 11. Android:使用列表創建自定義對話框
- 12. 返回對話框自定義消息框中的結果
- 13. 從數據庫結果創建自定義表格
- 14. C#中的自定義對話框?
- 15. 創建自定義類的結果集
- 16. Android自定義列表對話框
- 17. Android自定義列表對話框
- 18. 自定義onbeforeunload對話框
- 19. iOS自定義對話框
- 20. android自定義對話框
- 21. Android自定義對話框
- 22. beforeunload自定義對話框
- 23. 自定義對話框XML
- 24. Android自定義對話框
- 25. 自定義對話框
- 26. 自定義對話框
- 27. Wix自定義對話框
- 28. 自定義對話框extjs
- 29. 自定義對話框Android
- 30. C#消息框對話框結果
Form.ShowDialog()方法是一個非常不爲人知的方法。 –