原文地址:http://www.dingos.cn/index.php?topic=962.0
窗体可以是基于SDI(单文档界面,Single Document Interface)或MDI(多文档界面,Multiple Document Interface)。
【主窗体的特点】
【主窗体的特点】
- 启动一个 MDI 应用程序时,首先显示父窗体。
- 它是应用程序中所有其他窗口的容器。
- 每个应用程序界面都只能有一个 MDI 父窗体。
- 在任何指定的时间都可以打开多个子窗体。
- 任何 MDI 子窗体都不能移出 MDI 框架区域。
- 关闭 MDI 父窗体则自动关闭所有打开的 MDI 子窗体。
【创建MDI窗体】
- 将父窗口的IsMdiContainer属性设置为True。
- 选择“项目”->“添加 Windows 窗体”(即子窗体)
- 添加给定的代码,将 TestForm 设置为子窗体
frmChild fc = new frmChild(); //实例化子窗体
fc.MdiParent = this; //设置子窗体的父窗体
fc.Show(); //显示子窗体 - 如果窗体为MDI父窗体,则在触发MDI父窗体的Closing(Closed)事件之前,将触发所有MDI子窗体的Closing(Closed)事件。
【排列子窗口】
- 在 MDI 父窗体内排列多文档界面 (MDI) 子窗体。
- 每个事件处理程序都调用 LayoutMdi 方法,以排列当前在应用程序中打开的所有子窗体。
this.LayoutMdi( MdiLayout.枚举值 ); - MdiLayout枚举成员
成员名称
|
说明
|
ArrangeIcons | 排列所有MDI子窗体的图标 |
Cascade | 层叠所有MDI子窗口 |
TileHorizontal | 水平平铺所有MDI子窗口 |
TileVertical | 垂直平铺所有MDI子窗口 |