学习Winform分组类控件(Panel、groupBox、TabControl)
分组类控件主要包括容器控件(panel),分组框控件(groupbox)和选项卡控件(tabcontrol)等控件。
一、panel控件
panel控件是由system.windows.forms.panel类提供的,主要作用就是将其他控件组合一起放在一个面板上,使这些控件更容易管理。当panel控件面板上要显示过多的控件时,可设置autoscroll属性为true。
panel控件在默认情况下不显示边框,如把borderstyle属性设置为不是none的其他值,就可以使用面板可视化地组合相关的控件。
实例:演示panel控件的borderstyle属性和autoscroll属性
(1)在窗体中添加一个panel控件,设置autoscroll属性为true,设置borderstyle属性为fixed3d,添加一个button控件和一个listbox控件,设置button控件的text属性为“增加”。
(2)双击button控件生成click事件,在click事件中完成向listbox控件添加一个项目并且使其高度增加20,代码为:
<span style="font-size:18px;"> private void button1_click(object sender, eventargs e) { listbox1.items.add("子项");//增加子项 listbox1.height = listbox1.height + 20;//增加高度 }</span>
完整的窗体代码为:
<span style="font-size:18px;">using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms; namespace windowsformsapplication3 { public partial class form1 : form { public form1() { initializecomponent(); } private void button1_click(object sender, eventargs e) { listbox1.items.add("子项");//增加子项 listbox1.height = listbox1.height + 20;//增加高度 } } } </span>
运行窗体然后多次点击增加按钮的结果为:
二、groupbox控件
groupbox控件是由system.windows.forms.groupbox类提供的,主要作用是为其他控件提供可识别的分组,通常,使用分组框按功能细分窗体。
实例:演示groupbox控件的使用
在窗体上添加两个groupbox控件gpbsystem和gpbclass,设置gpbsystem控件的text属性为系别,并放置两个radiobutton控件,分别设置它们的text属性为“计算机”和“外语系”。同样设置gpbclass的text属性为班级,并放置两个radiobutton控件,分别设置它们的text属性为“一班”和“二班”。
运行窗体的结果为:
三、tabcontrol控件
tabcontrol控件是由system.windows.forms.tabcontrol类提供的,作用就是将相关的组件组合到一系列选项卡页面上。tabcontrol控件管理tabpages集合,tabcontrol控件的multiline属性用来设置是否显示多行选项卡选。如果multiline属性设置为false,而有多个选项卡不能一次显示出来,就提供组箭头查看剩余的选项卡。tabcontrol控件的appearance属性是指示选项卡是挥之成按钮还是绘制成常规选项卡,该属性有三个值分别是normal(绘制成常规选项),buttons(绘制成常规按钮)和flatbutton(绘制成平滑按钮)。
把光标放在tabcontrol控件上点击,可通过【增加选项卡】或选择【移除选项卡】命令来添加和删除tabpages集合,也可通过tabcontrol控件tabpages属性来添加和删除tabpages集合,tabpages的text属性是用来设置选项卡上显示的内容。而selectedtab属性可以确定当前的选项卡。每次选择新选项卡时,救护触发selectedindexchanged事件,通过selectedindex属性和selectedtab属性确认当前选择,就可以根据选项卡进行待定的处理。
实例:演示tabcontrol控件的使用
(1)在窗体上添加一个tabcontrol控件并右击,选择【增加选项卡】命令,添加一个选项卡tabpage1,重复操作再添加个tabpage2,在tabpage1中提添加一个button控件,更改tabpage1的text属性为“选项一”,在tabpage2中添加一个textbox控件,更改tabpage2的text属性为“选项二”。
(2)选择tabcontrol控件,在事件中找到selectedindexchanged事件,双击后面的空格,生成selectedindexchanged事件,通过messagebox的show方法显示tabcontrol控件所选项的tabpages的标题和索引,代码为:
<span style="font-size:18px;"> private void tabcontrol1_selectedindexchanged(object sender, eventargs e) { messagebox.show("你单击了"+tabcontrol1.selectedtab.text //取消单击的选项卡标题 +"它的索引是"+tabcontrol1.selectedindex.tostring());//取消单击的选项卡索引 }</span>
完整的窗体代码为:
<span style="font-size:18px;">using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms; namespace windowsformsapplication5 { public partial class form1 : form { public form1() { initializecomponent(); } private void tabcontrol1_selectedindexchanged(object sender, eventargs e) { messagebox.show("你单击了"+tabcontrol1.selectedtab.text //取消单击的选项卡标题 +"它的索引是"+tabcontrol1.selectedindex.tostring());//取消单击的选项卡索引 } } } </span>
依次单击选项卡的运行结果为:
以上就是本文的全部内容,希望对大家的学习有所帮助。
上一篇: Python中的heapq模块源码详析