CheckBox 是多選框控件,可將多個 CheckBox控件放到 GroupBox 控件內形成一組,這
一組內的 CheckBox 控件可以多選,不選或都選。可用來選擇一些可共存的特性,例如一個
人的愛好。
1. CheckBox 控件屬性和事件
? 屬性 Text:多選框控件旁邊的標題。
? 屬性 Checked:布爾變量,為 true 表示多選框被選中,為 false 不被選中。
? 事件 Click:單擊多選框控件時產生的事件。
? 事件 CheckedChanged:多選框選中或不被選中狀態改變時產生的事件。
2. 例子 e3_5
在窗口中增加 2 個 CheckBox控件,分別用來選擇是否愛好音樂和是否愛好文學,用鼠
標單擊 CheckBox控件,改變愛好選擇,用 Label 控件顯示所選擇的愛好。實現步驟如下:
(1) 建立新項目。放 Label 控件到窗體,屬性 Text= “你的愛好是: ”。
(2) 放 GroupBox 控件到窗體,屬性 Text=“愛好 ”。放兩個 CheckBox控件到 GroupBox中,屬
性 Text 分別為:音樂、文學。設計界面如下圖。
(3) 標題為音樂的多選框控件的 CheckedChanged事件處理函數如下:
private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
{
String text1=" 你的愛好是: ";
if (checkBox1.Checked)
text1=text1+checkBox1.Text;
if (checkBox2.Checked)
text1+=checkBox2.Text;
label1.Text=text1;
}
(4) 將標題為文學的多選框控件的 CheckedChanged事件處理函數, 設
置為標題為音樂的多選框控件的 CheckedChanged事件處理函數,具體步驟見 3.5 節。
(5) 編譯,運行。選中音樂將在標簽控件中顯示:你的愛好是:音樂,再選中文學顯示:你
的愛好是:音樂文學。
(6)

3. 例子 e3_6
該例同上例,但按選中音樂和文學的順序在標簽中顯示愛好,實現步驟如下:
(1) 建立一個新項目。為 Form1類增加私有變量 String s="你的愛好是: "。
(2) 放 Label 控件、 GroupBox 控件、兩個 CheckBox到窗體,屬性設置同上例。
(4) 標題為音樂的多選框控件 CheckBox1的 CheckedChanged事件處理函數如下:
private void checkBox1_CheckedChanged(object sender,System.EventArgs e)
{
int n=s.IndexOf(" 音樂");//s 中有字符串 "音樂"嗎?n=-1表示沒有
if(n==-1)// n=-1,表示上次沒選此項,此次選中,應增加 "音樂"
s+="音樂";
else// 否則,表示上次已選此項,此次不選中,應刪除 "音樂"
s=s.Remove(n,2);
label1.Text=s;
}
(5) 標題為文學的多選框控件 CheckBox2的 CheckedChanged事件處理函數如下:
private void checkBox2_CheckedChanged(object sender,EventArgs e)
{ int n=s.IndexOf("文學");//s 中有字符串 "文學"嗎?=-1表示沒有
if(n==-1)//=-1 ,表示上次沒選此項,此次選中,應增加 "文學"
s+="文學";
else// 否則,表示上次已選此項,此次不選中,應刪除 "文學"
s=s.Remove(n,2);
label1.Text=s;
}
(6) 編譯,運行。選中音樂在標簽中顯示:你的愛好是:音樂,再選中文學顯示:你的愛好
是:音樂文學, 不選音樂顯示: 你的愛好是: 文學,再選音樂顯示:你的愛好是: 文學音樂。
(7)

