Windows窗体应用程序
基于单文档界面(SDI)的应用程序,基于多文档界面(MDI)的应用程序,基于对话框的应用程序
基于单文档界面
SDI
基于多文档界面
MDI
设置MDI窗体
父窗体
IsMdiContainer属性设置为true
子窗体
设置某个窗体的MidParent属性确定子窗体,语法:public Form MdiParent{get;set;}
实例1
实例:将2、3、4三个窗体设置为子窗体,并在父窗体Form1中打开
(1)将Form1的IsMdicontainer属性设置为true(设为父窗体)
(2)具体代码:
private void Form1_Load(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show();
frm2.MdiParent = this;
Form3 frm3 = new Form3();
frm3.Show();
frm3.MdiParent = this;
Form4 frm4 = new Form4();
frm4.Show();
frm4.MdiParent = this;
}
排列MDI子窗体
使用带有MdiLayout枚举的LayoutMdi方法对多文档界面父窗体中的子窗体进行排列。语法:public void LayoutMdi(MdiLayout value)
注:
value是MdiLayout枚举值之一,用来定义MDI子窗体的布局
MdiLayout枚举用于指定MDI父窗体中子窗体的布局,语法:public enum MdiLayout
MdiLayout的枚举成员
Cascade:子窗体均层叠在父窗体的工作区间
TileHorizontal:子窗体均水平平铺在父窗体工作区间
TileVertical:子窗体均垂直平铺在父窗体工作区间
ArrangeIcons:子窗体按图标排列在父窗体工作区间
实例2
实例2:在实例1基础上使用LayoutMdi方法与MdiLayout枚举设置窗体的排列
(1)在Form1窗体中添加一个MenuStrip控件作为父窗体的菜单项,通过MenuStrip添加五个菜单项:加载子窗体、水平平铺、垂直平铺、层叠排列、关闭子窗体
(2)运行时单击“加载子窗体”菜单项后在父窗体中可以加载所有的子窗体。
具体代码:
private void 加载子窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(