CheckBox(復選框)控件用來標識某個選項是否為選定的狀態。因此通常用此控件提供“Yes/No”或“True/False”選項。可用分組的CheckBox控件顯示多組不同類型的選項,用戶可從中一個組選擇一個或多個選項。CheckBox控件在工具箱中的圖標如圖所示:
CheckBox控件與RadioBox(單選框)控件都可以用來指示用戶是否對某個選項作出選擇。不同之處在於,對於一個組內RadioBox控件,一次只能選擇其中的一個,而對於所有的CheckBox控件,則可選定任意數目的復選框。RadioBox控件將在後面進一步介紹。
1.CheckState屬性
CheckBox控件的CheckState屬性指示復選框處於選定、未選定或禁止狀態(暗淡的)中的哪一種。選定時,CheckState設置值為1。
下表為用於設置CheckState屬性的數值和相應的Visual Basic常數:
用戶單擊CheckBox控件指定選定或未選定狀態,然後可檢測控件狀態並根據此信息編寫應用程序以執行某些操作。缺省時,CheckBox控件設置為CheckState.Unchecked。若要預先在一列復選框中選定若干復選框,則應在New或InitializeComponent過程中將CheckState屬性設置為CheckState.Checked以選中復選框;可將CheckState屬性設置為CheckState.Indeterminate以禁用復選框。例如,有時可能希望滿足某條件之前禁用復選框。
2.Click事件
無論何時單擊CheckBox控件都將觸發Click事件,然後編寫應用程序,根據復選框的狀態執行某些操作。在下例中,每次單擊CheckBox控件時都將改變其Text屬性以指示選定或未選定狀態:
Protected Sub CheckBox1_Click(ByVal sender As Object,ByVal As_ System.EventArgs)Handles CheckBox.Click If CheckBox1.CheckState=CheckState.Checked Then CheckBox1.Text="Checked" ElseIf CheckBox1.CheckState=CheckState.UnChecked Then CheckBox1.Text="UnChecked" End If
注意:如果試圖雙擊CheckBox控件,則將雙擊當作兩次單擊,而且分別處理兩次單擊,即:CheckBox控件不支持雙擊事件。
3.響應鼠標和鍵盤
在鍵盤上使用Tab鍵並按SpaceBar鍵,由此將焦點轉移到CheckBox控件上,這時也會觸發CheckBox控件的Click事件。可以在Text屬性的一個字母之前添加連字符,創建一個鍵盤快捷方式來切換CheckBox控件的選擇。
4.增強CheckBox控件的視覺效果
CheckBox控件象Button和RadioButton控件一樣,可通過更改Style屬性的設置值後使用Image、ImageAlign、ImageIndex和ImageList屬性增強其視覺效果。例如:有時可能希望在復選框中添加圖標或位圖,或者在單擊或禁止控件時顯示不同的圖象等。