首页 > 代码库 > .Net学习 第3季02 winform应用程序 MDI窗体设计 menuStrip

.Net学习 第3季02 winform应用程序 MDI窗体设计 menuStrip

窗体2、3、4...只落在窗体1(父窗体)的范围内并且可以全部显示的设计---MDI窗体设计

 

 

在窗体1中创建menuStrip类的对象(菜单栏),设置其中一个的点击事件为显示窗体2、3、4

private void 显示子窗体ToolStripMenuItem_Click(object sender, EventArgs e)        {            Form2 f2 = new Form2();            f2.Show();            Form3 f3 = new Form3();            f3.Show();            Form4 f4 = new Form4();            f4.Show();        }

这样子做只是实现了显示窗体2、3、4而已,没有把他们都限制在窗体1的范围内显示。

首先将窗体1定义为父窗体,Form1属性IsMdiContainer设置为true。然后将Form2、3、4的属性MdiParent设置为Form1。这样窗体2、3、4的显示就局限在窗体1的范围里了。

 private void 显示子窗体ToolStripMenuItem_Click(object sender, EventArgs e)        {            Form2 f2 = new Form2();            f2.MdiParent = this;            f2.Show();            Form3 f3 = new Form3();            f3.MdiParent = this;            f3.Show();            Form4 f4 = new Form4();            f4.MdiParent = this;            f4.Show();        }

因为这个方法是在类Form1中的,所以this就是指代我们想要的Form1.

 

Mdi窗体有控制子窗体排列方式的方法LayoutMdi(),参数是一个枚举类型MdiLayout。

private void 横向排列ToolStripMenuItem_Click(object sender, EventArgs e)        {            LayoutMdi(MdiLayout.TileHorizontal);        }private void 纵向排列ToolStripMenuItem_Click(object sender, EventArgs e)        {            LayoutMdi(MdiLayout.TileVertical);        }

 

.Net学习 第3季02 winform应用程序 MDI窗体设计 menuStrip