Winforms自定义对话框挂起父执行
本文关键字:执行 挂起 对话框 自定义 Winforms | 更新日期: 2023-09-27 17:59:13
我正试图创建一个自定义对话框(使用WinForms),它与ColorDialog
或OpenFileDialog
非常相似,打开并接受用户的一些输入,然后在收到输入后将执行返回到父窗体。
我试图通过创建一个具有Show()
方法的自定义表单来实现这一点,然后像这样调用它:
custom_dialog.Show();
var results = custom_dialog.Property;
正如您所能想象的,这是不起作用的,因为第二行是在选择任何输入之前执行的。
我的问题是:如何创建一个自定义对话框来挂起父窗体的执行,就像ColorDialog
或OpenFileDialog
一样,这样我就可以强制用户在继续执行之前输入一些内容?
您应该调用ShowDialog()
,这将以模态打开对话框,并且只有在对话框关闭后,您才能在调用表单中继续执行。
在模态形式周围使用using
块是一种很好的做法,因此一旦用完该块,它就会立即被处理。
您想要一个模态对话框。它将弹出并停止所有其他执行,直到关闭为止。
类似的东西
if(custom_dialog.ShowDialog() == DialogResult.Ok)
do something here
else
do something different
使用Form.ShowDialog方法。
您可以使用此方法显示应用程序中的模式对话框。当调用此方法时直到对话框关闭后。
可以为对话框指定以下选项之一DialogResult的值枚举,方法是将其分配给上按钮的DialogResult属性形式或通过设置中窗体的DialogResult属性密码此值随后由返回这种方法。
您可以使用此返回值确定如何处理操作出现在对话框中。