bootstrap 按钮样式单选效果_【自学C#】I 书 101 单选按钮
一、簡(jiǎn)介
????當(dāng)需要用戶(hù)在多個(gè)選項(xiàng)中選擇一項(xiàng)時(shí),可以使用單選按鈕。
????單選按鈕處于被選中狀態(tài)時(shí),其左邊圓圈中心有一黑點(diǎn)。
????單選按鈕通常以選項(xiàng)組的形式存在,在由若干單選按鈕組成的選項(xiàng)組中,每次只能選中其中一個(gè)。
????當(dāng)選中一個(gè)單選按鈕時(shí),其他單選按鈕將會(huì)自動(dòng)關(guān)閉。
????單選按鈕就是RadioButton控件,在工具箱的【公共控件】欄內(nèi)可以找到它。
二、RadioButton的常用屬性。
????1.Checked(是否選中)
? ? ? ??該屬性指示單選按鈕是否被選中狀態(tài),其值為布爾值。
??????? true時(shí),為選中;false時(shí),為不選中狀態(tài)。
????????當(dāng)多個(gè)RadioButton在同一個(gè)容器中時(shí),就會(huì)自動(dòng)組成一個(gè)選項(xiàng)組,也就是處于一個(gè)選中狀態(tài)。
????2.Visible屬性
????????該屬性表示控件是否可見(jiàn)。
????3.Enabled屬性
????????為False時(shí),表示不可以,禁用控件。
? ? 如果在一個(gè)窗體或容器內(nèi)需要2組單選按鈕時(shí),則可以把這2組分別放在2個(gè)不同的容器內(nèi),這樣它們就可以各有一個(gè)單選按鈕處于選中狀態(tài)了。
????可新創(chuàng)建panel控件,在往里面新建RadioButton控件。
????不過(guò)好像都使用GroupBox容器控件!
????4.Appearance屬性樣式
????????該屬性控制RadioButton控件的樣式。
????5.FlatStyle屬性外觀
????????該屬性當(dāng)用戶(hù)鼠標(biāo)移動(dòng)到控件上并單擊時(shí),外觀的改變。
??????? 1)Flat:以平面顯示。
??????? 2)Popup:以平面顯示,直到鼠標(biāo)指針移動(dòng)到該控件為止。
????????????該控件外觀為三維。
??????? 3)Standard:外觀為三維。
??????? 4)System:外觀是由用戶(hù)的操作系統(tǒng)決定。
????????也可以通過(guò)代碼改變FlatStyle屬性。
????????radioButton6.FlatStyle =?FlatStyle.Flat;
????????總之,具體會(huì)變成什么樣,不妨親自試試。
三、RadioButton的常用事件
????1.Click事件
????????用鼠標(biāo)左鍵單擊RadioButton時(shí)觸發(fā)Click事件。
????????如果在一個(gè)組里的控件,單擊了沒(méi)有選中的控件,該控件就會(huì)被選中狀態(tài),其他的控件將處于未選中的狀態(tài)。
????2.CheckedChanged事件
??????? Checked屬性值更改事件。
????????當(dāng)一個(gè)單選按鈕控件的Checked屬性值發(fā)生改變時(shí),會(huì)被觸發(fā)。
????注意:
????????當(dāng)單擊一個(gè)未選中的RadioButton時(shí),將會(huì)2次觸發(fā)這個(gè)事件。
????????第一次是在之前被選中的RadioButton變?yōu)槲催x中狀態(tài)時(shí)觸發(fā)。
????????第二次則是未選中狀態(tài)變成被選中狀態(tài)時(shí)觸發(fā)。
????????總之就是一個(gè)改變了,另一個(gè)也會(huì)被改變。
????????因?yàn)檫@個(gè)特殊性,所以一般都使用Click事件。
四、實(shí)例演示
????1.RadioButton的使用
??????? 1)新建一個(gè)windows應(yīng)用程序。
??????? 2)修改窗體屬性,Name:Mainform;Text:RadioButton演示程序。
??????? 3)在窗體上放置2個(gè)GroupBox容器控件。
????????????Name屬性分別為:gpbAppearance、gpbRead。
??????????? Text屬性分別為:Appearance屬性和讀取選項(xiàng)組的值。
??????? 4)在gpbAppearance容器控件上放置4個(gè)RadioButton控件。
????????????修改Name屬性和Text屬性。如下圖
????????????并把其中的rdoStandard的Checked屬性設(shè)置為true。
????????????Checked屬性為默認(rèn)選中狀態(tài)。
????????5)在gpbRead容器控件上放置3個(gè)RadioButton控件。
????????????修改Name屬性和Text屬性。如下圖
??????????? Appearance屬性都改成Button。(樣式)
??????????? Size屬性都改成26,26。(單選按鈕尺寸)
??????????? TextAlign屬性改成MiddleCenter。(文字居中)
??????????? Tag屬性分別對(duì)應(yīng)設(shè)置成0、1、2。
????????6)在gpbRead容器控件上放置2個(gè)Label標(biāo)簽控件。
?????????????修改Name屬性和Text屬性。如下圖
??????????? AutoSize屬性都設(shè)置成false。
??????????? TextAlign屬性設(shè)置成MiddleLeft。
大致這樣布局
??????? 7)選中rdoFlat控件,在事件面板里生成Click事件。
????????????(如果直接雙擊控件,生成的并不是Click事件。)
??????? 8)選中rdoPopup控件,在事件面板里生成Click事件。
??????? 9)同時(shí)選中rdoStandard和rdoSystem控件,一同生成Click事件。
????????????(框選還是按Ctrl+選都行,也可以直接在Click事件面板的下拉菜單里找。)
??????? 10)同時(shí)選中tdoA、rdoB和rdoC控件,并一同生成Click事件。
????????11)完整代碼
運(yùn)行效果:
分析:
????基本上就是選擇Appearance屬性里的單選按鈕,改變右邊A、B、C三個(gè)按鈕的樣式。
????當(dāng)選中A、B、C其中一個(gè)按鈕時(shí),下面會(huì)有提示。
22~27行
????使用最基本的改變FlatStyle屬性值的方式。
? ? 分別給右邊A、B、C的按鈕賦值Flat的值,也可以改成其他值類(lèi)型。
29~40行
????先獲取GroupBox控件里的所有控件,并將其一個(gè)個(gè)的遍歷出來(lái)。
????然后符合單選按鈕的,再調(diào)出FlatStyle屬性,并賦值。
????因?yàn)楸闅v出來(lái)的控件都是Object類(lèi)型,所有需要強(qiáng)制轉(zhuǎn)換成RadioButton控件類(lèi)型。
42~56行
????因?yàn)槭莾蓚€(gè)單選按鈕共用一個(gè)事件,所有先聲明一個(gè)FlatStyle變量。
????然后通過(guò)哪個(gè)被選中了,就修改哪個(gè)按鈕下的樣式。
????最后在把這個(gè)樣式逐一賦給要改變的單選按鈕。
以上是幾種改變方式,完全可以使用第42~56行這種直接合并的方式。
而在使用RadioButton編程時(shí),經(jīng)常需要獲得選中的索引號(hào)。
所以可以使用Tag標(biāo)簽來(lái)存放各自的索引,并且通過(guò)((Control)sender).Tag獲取Tag的值。
不過(guò)因?yàn)榘姹镜母?#xff0c;現(xiàn)在好像具備了專(zhuān)門(mén)的索引號(hào)功能。TabIndex屬性。
單擊事件的第一個(gè)參數(shù),sender代表了觸發(fā)這個(gè)事件的控件,因?yàn)槭荗bject的類(lèi)型,所以需要進(jìn)行相應(yīng)的類(lèi)型轉(zhuǎn)換。
如Tag和Text,都是Control類(lèi)型,所以需要進(jìn)行轉(zhuǎn)換。
這里也可以轉(zhuǎn)換成RadioButton類(lèi)型,來(lái)獲取其中的屬性。
總結(jié)
以上是生活随笔為你收集整理的bootstrap 按钮样式单选效果_【自学C#】I 书 101 单选按钮的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 存储器的分配与回收算法实现_垃圾内存回收
- 下一篇: wireshark合并多个文件_TEQC