C# Form窗口显示为模态对话框(ShowDialog()返回值) 作者:马育民 • 2025-03-10 22:21 • 阅读:10009 # 将Form显示为模态对话框 Form显示为模态对话框,就是一直显示在主窗口的前面,不关闭就不能操作主窗口 关闭模态对话框会返回结果 ### 例子 在 **主窗口** `Form1` 中创建模态对话框窗口: ``` OpenFileForm openFileForm= new OpenFileForm(); ``` 调用 `ShowDialog()` 显示对话框,当关闭对话框时,会返回结果 ``` if (DialogResult.OK == startForm.ShowDialog()) { // 关闭对话框不会销毁,调用Dispose()才销毁 openFileForm.Dispose(); } ``` # 关闭Form时,设置返回结果 在 `OpenFileForm` 代码中,给 `DialogResult` 属性赋值,就会关闭对话框,且上面的 `ShowDialog()` 方法会返回结果 ### 例子 ``` DialogResult = DialogResult.OK; ``` ### DialogResult枚举值 Form的 `DialogResult` 属性的值,必须是 `DialogResult` 枚举值,具体如下: - DialogResult.Abort:值是3,对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。 - DialogResult.Cancel:值是2,对话框的返回值是 Cancel(通常从标签为“取消”的按钮发送)。 - DialogResult.Continue:值是11,对话框返回值是“继续” (通常从标记为“继续”) 的按钮发送。 - DialogResult.Ignore:值是5,对话框的返回值是 Ignore(通常从标签为“忽略”的按钮发送)。 - DialogResult.No:值是7,对话框的返回值是 No(通常从标签为“否”的按钮发送)。 - DialogResult.None:值是0,从对话框返回了 Nothing。 这表明有模式对话框继续运行。 - DialogResult.OK:值是1,对话框的返回值是 OK(通常从标签为“确定”的按钮发送)。 - DialogResult.Retry:值是4,对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。 - DialogResult.TryAgain:值是10,对话框返回值是“重试” (通常从标记为“重试”的按钮发送) 。 - DialogResult.Yes:值是6,对话框的返回值是 Yes(通常从标签为“是”的按钮发送)。 参考: https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.forms.dialogresult?view=windowsdesktop-7.0 https://www.cnblogs.com/xiaofengfeng/archive/2011/12/05/2276730.html 原文出处:https://malaoshi.top/show_1GWjgbrP33G.html