首页 新闻 会员 周边

winform设置子窗体的办法

0
悬赏园豆:10 [已解决问题] 解决于 2012-08-06 14:26

在winform中 父窗体是一个MDI的页面,是主程序窗体, 现有a窗体和b窗体 a不是子窗体,我现在需要在a窗体中设置b窗体在MDI窗体中显示该怎么写代码,winform新手求解

千重的主页 千重 | 初学一级 | 园豆:129
提问于:2012-08-04 10:16
< >
分享
最佳答案
0
收获园豆:6
悟行 | 专家六级 |园豆:12559 | 2012-08-04 10:39

这个跟我的那个要求不同 a不是父窗体

千重 | 园豆:129 (初学一级) | 2012-08-06 11:07

@千重: 

foreach (Form f in this.MdiChildren)
26             {
27                 if (f.GetType() == type)
28                 {
29                     f.Activate();
30                     return;
31                 }
32             }
33 
34             Form frm = type.Assembly.CreateInstance(type.ToString()) as Form;
35             frm.MdiParent = this;
36             frm.WindowState = FormWindowState.Maximized;
37             frm.Show();

你把代码的意思看清楚了就知道了,窗体不是你要的,可以换成你要的啊,就是你要知道这个实现的思路。

悟行 | 园豆:12559 (专家六级) | 2012-08-06 11:19

@荒野的呼唤: 一直都是 frm.MdiParent = this;这句的this没取到引起的

千重 | 园豆:129 (初学一级) | 2012-08-06 14:28
其他回答(2)
0

Application.Run(new Form1());

收获园豆:1
CrazyJinn | 园豆:799 (小虾三级) | 2012-08-04 11:26
0

1、首先你先建立一个窗体,窗体名称自定,然后把该窗体的属性“IsMdiContainer”为ture,这是一个重要的属性,窗体设置了这个属性就表示这个窗体为多文档应用程序的主窗体,它将作为子窗体的容器。

2、再新建一个窗体,是作为子窗体的,子窗体就不用设置什么属性了。

然后开始代码:

你需先了解多文档操作的一个属性:MdiParent——用于为子窗体设置关联的父窗体。

注明:新建一个子窗体,要在主窗体中创建菜单,例如——新建菜单。

第一步:在“新建菜单”点击事件中添加以下代码。

//创建一个子窗体对象,创建时要设置子窗体MdiParent属性,将此属性设置为它所属的主窗体对象“this”即可
  Document childForm = new Document(); //Document是我子窗体的名称,也就是类名

第二步:为子窗体设置关联的父窗体,然后现在子窗体。

            childForm.MdiParent = this;     //
            childForm.Show();

希望能帮到你。

收获园豆:3
新生帝 | 园豆:208 (菜鸟二级) | 2012-08-05 05:20

我这里的a不是父窗体 b是MDI窗体的子窗体,但现在需要在a窗体里面设置b窗体在mdi窗体中show出来

支持(0) 反对(0) 千重 | 园豆:129 (初学一级) | 2012-08-06 11:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册