首页 > 代码库 > MDI和继承窗体设计

MDI和继承窗体设计

MDI窗体设计:(Multiple-Document Interface)

用途:用于同时显示多个文档,每个文档显示在各自的窗体中。

起到容器作用的窗体被称为"父窗体",可放在父窗体中的其他窗体称为"子窗体",也称为"MDI子窗体"。

每个应用程序只能有一个父窗体,并且其他子窗体不能移出父窗体的框架区域。


1.设置父窗体

在窗体的属性面板 将IsMdiContainer属性设置为True即可


2.设置子窗体

通过设置窗体的MdiParent属性来确定子窗体

Form2 form2 = new Form2()

form2.Show()

form2.MdiParent=this;//这里设置了MdiParent,将当前窗体作为父窗体。


3.对MDI窗体进行排列

使用带有MdiLayout枚举的LayoutMdi方法排列子窗体

枚举成员:

Cascade:所有MDI子窗体层叠在MDI父窗体工作区内

TileHorizontal:所有MDI子窗体均水平平铺在MDI父窗体的工作区内

TileVertical:所有MDI子窗体均垂直平铺在MDI父窗体的工作区内

示例代码:

LayoutMdi(MdiLayout.TileHorizontal)//使用MdiLayout枚举实现窗体的水平平铺


继承窗体

创建继承窗体有两种方式:

一是通过编程方式创建继承窗体,二是使用继承选择器创建继承窗体。


1.编程方式创建继承窗体(Form2继承Form1)

原始代码:

namespace Form(项目名)

{

public partial class Form2:Form  //表示当前窗体继承于Form类

{......}

}

修改之后:

只需修改:public partial class Form2:Form.Form1(使用Form2窗体继承Form1窗体)


2.使用继承选择器创建继承窗体

(1)选择项目->右击->添加->新建项,打开"添加新项"

(2)在"添加新项"对话框中选择"继承的窗体",并输入窗体名称,单击"添加"按钮,打开"继承选择器"对话框,

(3)在"继承选择器"对话框中单击浏览按钮,选择要继承的基窗体,单击"确定‘,完成继承窗体的创建。


当向窗体中添加控件时,控件的Modifiers属性默认为Private,但如果继承这样的窗体,则在继承窗体中控件的属性全部为不可编辑状态。

其实,我们可以通过基窗体中控件的Modifiers属性设置为Public,来实现在继承窗体中编辑控件属性的功能。