窗体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); }
时间: 2024-09-29 02:30:06