C# 如何允许在MdiContainer的子容器中显示对话框?
我有一个表单C# 如何允许在MdiContainer的子容器中显示对话框?,c#,winforms,mdi,C#,Winforms,Mdi,我有一个表单this.IsMdiContainer=true。我在里面展示了一个子窗体 FrmCustomer frm=new FrmCustomer(); frm.MdiParent = this; frm.Show(); FrmCustomerDetail frm=new FrmCustomerDetail(null); frm.ShowDialog(this); 我想在FrmCustomer中显示一个表单。我用这个密码 FrmCustomerDetail frm=
this.IsMdiContainer=true
。我在里面展示了一个子窗体
FrmCustomer frm=new FrmCustomer();
frm.MdiParent = this;
frm.Show();
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.ShowDialog(this);
我想在FrmCustomer中显示一个表单。我用这个密码
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.MdiParent = this.MdiParent;
frm.ShowDialog();
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.ShowDialog(this);
但我有一个错误
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.ShowDialog(this);
非顶级表单的表单不能显示为模式
对话框。在调用之前,请从任何父窗体中删除该窗体
展示对话。”
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.ShowDialog(this);
实现这一点的一种方法是将我们的窗口保留为MdiOwner,并使用ShowDialog方法参数设置窗口所有者
FrmCustomerDetail frm=new FrmCustomerDetail(null);
frm.ShowDialog(this);
省略
frm.mdipalent=this.mdipalent
,它就会工作。您不能ShowDialog
MdiChildren@GuidoG谢谢,但我想在mdicontainer中显示表单。请解释您使用的意思,但我想在mdicontainer中显示表单
当我仅使用showdialog时,表单显示在容器外部,这就是showdialog的用途。要解释你的意思是什么,这是不容易改变的。在我看来,这是一个正确的答案,如果您想要一些不同的东西,请编辑您的问题并详细说明您想要什么您不能在MDI容器上使用Form.ShowDialog。