一、简介
当需要用户在多个选项中选择一项时,可以使用单选按钮。
单选按钮处于被选中状态时,其左边圆圈中心有一黑点。
单选按钮通常以选项组的形式存在,在由若干单选按钮组成的选项组中,每次只能选中其中一个。
当选中一个单选按钮时,其他单选按钮将会自动关闭。
单选按钮就是RadioButton控件,在工具箱的【公共控件】栏内可以找到它。
二、RadioButton的常用属性。
1.Checked(是否选中)
该属性指示单选按钮是否被选中状态,其值为布尔值。
true时,为选中;false时,为不选中状态。
当多个RadioButton在同一个容器中时,就会自动组成一个选项组,也就是处于一个选中状态。
2.Visible属性
该属性表示控件是否可见。
3.Enabled属性
为False时,表示不可以,禁用控件。
如果在一个窗体或容器内需要2组单选按钮时,则可以把这2组分别放在2个不同的容器内,这样它们就可以各有一个单选按钮处于选中状态了。
可新创建panel控件,在往里面新建RadioButton控件。
不过好像都使用GroupBox容器控件!
4.Appearance属性样式
该属性控制RadioButton控件的样式。
5.FlatStyle属性外观
该属性当用户鼠标移动到控件上并单击时,外观的改变。
1)Flat:以平面显示。
2)Popup:以平面显示,直到鼠标指针移动到该控件为止。
该控件外观为三维。
3)Standard:外观为三维。
4)System:外观是由用户的操作系统决定。
也可以通过代码改变FlatStyle属性。
radioButton6.FlatStyle =FlatStyle.Flat;
总之,具体会变成什么样,不妨亲自试试。
三、RadioButton的常用事件
1.Click事件
用鼠标左键单击RadioButton时触发Click事件。
如果在一个组里的控件,单击了没有选中的控件,该控件就会被选中状态,其他的控件将处于未选中的状态。
2.CheckedChanged事件
Checked属性值更改事件。
当一个单选按钮控件的Checked属性值发生改变时,会被触发。
注意:
当单击一个未选中的RadioButton时,将会2次触发这个事件。
第一次是在之前被选中的RadioButton变为未选中状态时触发。
第二次则是未选中状态变成被选中状态时触发。
总之就是一个改变了,另一个也会被改变。
因为这个特殊性,所以一般都使用Click事件。
四、实例演示
1.RadioButton的使用
1)新建一个windows应用程序。
2)修改窗体属性,Name:Mainform;Text:RadioButton演示程序。
3)在窗体上放置2个GroupBox容器控件。
Name属性分别为:gpbAppearance、gpbRead。
Text属性分别为:Appearance属性和读取选项组的值。
4)在gpbAppearance容器控件上放置4个RadioButton控件。
修改Name属性和Text属性。如下图
并把其中的rdoStandard的Checked属性设置为true。
Checked属性为默认选中状态。
5)在gpbRead容器控件上放置3个RadioButton控件。
修改Name属性和Text属性。如下图
Appearance属性都改成Button。(样式)
Size属性都改成26,26。(单选按钮尺寸)
TextAlign属性改成MiddleCenter。(文字居中)
Tag属性分别对应设置成0、1、2。
6)在gpbRead容器控件上放置2个Label标签控件。
修改Name属性和Text属性。如下图
AutoSize属性都设置成false。
TextAlign属性设置成MiddleLeft。
大致这样布局
7)选中rdoFlat控件,在事件面板里生成Click事件。
(如果直接双击控件,生成的并不是Click事件。)
8)选中rdoPopup控件,在事件面板里生成Click事件。
9)同时选中rdoStandard和rdoSystem控件,一同生成Click事件。
(框选还是按Ctrl+选都行,也可以直接在Click事件面板的下拉菜单里找。)
10)同时选中tdoA、rdoB和rdoC控件,并一同生成Click事件。
11)完整代码
运行效果:
分析:
基本上就是选择Appearance属性里的单选按钮,改变右边A、B、C三个按钮的样式。
当选中A、B、C其中一个按钮时,下面会有提示。
22~27行
使用最基本的改变FlatStyle属性值的方式。
分别给右边A、B、C的按钮赋值Flat的值,也可以改成其他值类型。
29~40行
先获取GroupBox控件里的所有控件,并将其一个个的遍历出来。
然后符合单选按钮的,再调出FlatStyle属性,并赋值。
因为遍历出来的控件都是Object类型,所有需要强制转换成RadioButton控件类型。
42~56行
因为是两个单选按钮共用一个事件,所有先声明一个FlatStyle变量。
然后通过哪个被选中了,就修改哪个按钮下的样式。
最后在把这个样式逐一赋给要改变的单选按钮。
以上是几种改变方式,完全可以使用第42~56行这种直接合并的方式。
而在使用RadioButton编程时,经常需要获得选中的索引号。
所以可以使用Tag标签来存放各自的索引,并且通过((Control)sender).Tag获取Tag的值。
不过因为版本的更新,现在好像具备了专门的索引号功能。TabIndex属性。
单击事件的第一个参数,sender代表了触发这个事件的控件,因为是Object的类型,所以需要进行相应的类型转换。
如Tag和Text,都是Control类型,所以需要进行转换。
这里也可以转换成RadioButton类型,来获取其中的属性。
如果觉得《bootstrap 按钮样式单选效果_【自学C#】I 书 101 单选按钮》对你有帮助,请点赞、收藏,并留下你的观点哦!