winform 窗体加载的问题,C#里不同Panel中窗体的调用 10

窗体不能既是MDI子级,又是MDI父级如图,有3个窗体form1在panel1中,form2在panel2中,form3在panel3中(在panel2右边),其中for... 窗体不能既是 MDI 子级,又是 MDI 父级
如图,有3个窗体form1在panel1中,form2在panel2中,form3 在panel3中 (在panel2右边),其中form1的按钮控制 form2和form3的加载 ,form2中的按钮控制form3的加载
代码(form1 中):
form2 frmSchedule = new form2();
frmSchedule.MdiParent = this;
panel2.Controls.Clear();
panel2.Controls.Add(frmSchedule);
frmSchedule.Dock = DockStyle.Fill;
frmSchedule.Show(); 没什么问题 ,但到了 form2 中就有出题了

form3 frmSchedule = newform3();

frmSchedule.MdiParent = this;
panel1.Controls.Clear();
panel1.Controls.Add(frmSchedule);
frmSchedule.Dock = DockStyle.Fill;
frmSchedule.Show();

怎么都出错,不是报MDI 容器窗体必须位于顶层就是报窗体不能既是 MDI 子级,又是 MDI 父级 的错误 , 都是换成独立的 panel,在form2中又找不到主窗体(就是父窗体中的panel 这个控件),折腾了1晚上实在搞不定啊,望哪位能帮帮小弟啊
展开
 我来答
义鸿飞SD
2013-04-12 · TA获得超过198个赞
知道答主
回答量:271
采纳率:0%
帮助的人:143万
展开全部
很明白啊 你的form2既是form1的子窗体 又是form3的父容器 这就会报错
你添加form2为form1的子窗体时 后面架子啊form3的代码还未执行 所以不会报错
再加载form3时候 form2已经是某个窗体(form1)的子窗体了 因此form2就不能是mdi父容器了 所以就报错了
你要做成什么效果说出来 也许是你的实现思路有问题 一般情况不会再子窗体中再添加子窗体的
追问
我做了调整了,panel2和panel3同属主窗体了,现在是panel2中的按钮如何控制panel3中窗体的变化了
追答
同form1按钮控制form2相同呀  真心不知道你要干嘛~~~~~也不好给你具体的意见
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Octavianus_PL
2013-04-12 · TA获得超过388个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:173万
展开全部
看了半天,不知道楼主你的需求是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式