C# winform 父窗体调用子窗体问题

Form1和Form2一起显示,点击Form2中的“打开子窗体”则在Form1中显示Form3代码:Form2的按钮Cllick事件:Form1f1=newForm1()... Form1和Form2一起显示,点击Form2中的“打开子窗体”则在Form1中显示Form3

代码:
Form2的按钮Cllick事件:

Form1 f1 = new Form1(); //父窗体
Form3 f3 = new Form3(); //要在父窗体中显示的窗体
F3.MdiParent = f1;
F3.Show();
这样会报错,请问该如何修改呢?
展开
 我来答
落月Prc
2013-09-09 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2428万
展开全部

首先,在Form1打开Form2的时候,把Form1的引用传给Form2,代码如下

//Form1中
Form2 f2=new Form2(this);
f2.Show();
//Form2的构造函数前和构造函数中:
Form1 f1;
public Form2(Form1 param)
{
    f1=param;
}
//打开Form3的时候:
Form3 f3=new Form3();
f3.MdiParent=f1;
f3.Show();

如果有疑问可以追问~

追问
我只想在Form2中控制Form3在Form1(父窗体)中显示
追答
要实现你的效果,必须在Form2中,有原Form1的引用才行,所以上面的代码我才这么写的。
如果按照你那样写,Form1 f1 = new Form1();这里的f1是另一个新窗口了,不是原窗口,你可以用f1.Show()看一下就知道了~~
有你们真好A
2013-09-09 · TA获得超过259个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:109万
展开全部
先建两个窗体Form1 ,Form2,在form1的Load事件中添加代码Form2 frm2=new Form2()
frm2.show();
楼主试试!
追问
亲,你没看懂我想要什么呀!⊙﹏⊙
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的但是832
2013-09-09 · 超过18用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:15.9万
展开全部
你这是要做什么啊!f3的父窗体是F2 怎么要变成F1?
追问
Form3的父窗体是Form1
在Form2中控制Form3在父窗体Form1中显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式