.Net 视频学习第3季 winform应用程序 基础
多选框checkBox类,对选的数量没有限制
单选框radioButton类,通常情况下一个Form下所有单选框只能选一个。如果想实现一个form内分组,每个组内有几个单选框,但组与组之间独立,每个组内最多选一个的话,需要将单选框分组(放入不同的容器container中)。容器选用GroupBox。
窗体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); }