2016-09-20 109 views
0

我有显示的模态窗体。 例如从模态窗体显示非模态窗体关闭模态窗体

var form = new MyModalForm(); 
form.ShowDialog(); 

在MyModalForm中,我有一个启动另一个窗体的按钮。这一个是非模态的。

​​

当我点击按钮时,HelperForm出现,但MyModalForm消失。怎么回事,我该如何纠正?我希望模态形式保持不变,助手非模式形式可以访问。

我试图设置帮助者窗体的所有者属性是模态窗体,但是这两个窗体都没有显示。

+0

我不知道* showForm *方法,但显示您使用* showDialog *的模态形式。你的** helperForm **没问题。 –

+0

'showForm'做什么?这不是Form类的标准方法。 –

+0

对不起,showForm()只是为了show()。 –

回答

0

这两个表单都是非模态的。 试试这个:

using (var form = new.MyModalForm()) 
{ 
    form.ShowDialog(); // make this form modal 
} 

在MyModalForm,我有一个按钮,启动另一种形式。这一个是非模态的。

var helperForm = new MyHelperForm(); 
helperForm.Show(this); // this should be an instance of MyModalForm 
+0

是的。在我的原始文章中有一个错字,显示MyModalForm是用Show()而不是ShowDialog()调用的。 helperForm.Show(this);在这里是关键。很好。 –

0
instead of helperForm.show() call helperForm.showDialog() 
the helper form will appear and your modelForm will remain on screen. 
+1

我不知道谁给了你一个赞成票,但* showDialog *显示一个**模态**表单! *在MyModalForm中,我有一个启动另一个表单的按钮。这是* **非模态。** –

+0

是的,如果可能的话,我的HelperForm目标是它是非模态的。 –