使用 CheckBox 控件

选定 CheckBox 控件时,这个控件将显示选定标记。通常用此控件提供 Yes/No 或 True/False 选项。可用分组的 CheckBox 控件显示多个选项,用户可从中选择一个或多个选项。

图 7.5 CheckBox 控件

 CheckBox 控件与 OptionButton 控件的相同之处在于,每个都是用来指示用户所作的选择。不同之处在于,对于一组 OptionButton ,一次只能选定其中的一个,而对 CheckBox 控件,则可选定任意数目的复选框。

详细信息 关于 CheckBox 控件的简单示例,请参阅“窗体,控件和菜单”中的“用复选框选择单个选项”。

Value 属性

 CheckBox 控件的 Value 属性指示复选框处于选定、未选定或禁止状态(暗淡的)中的哪一种。选定时,value 设置值为 1。例如:

下表列出用于设置 Value 属性的数值和相应的 Visual Basic 常数。

设置值 常数
Unchecked 0 vbUnchecked
Checked 1 vbChecked
Unavailable 2 vbGrayed

用户单击 CheckBox 控件指定选定或未选定状态,然后可检测控件状态并根据此信息编写应用程序以执行某些操作。

缺省时, CheckBox 控件设置为 vbUnchecked。若要预先在一列复选框中选定若干复选框,则应在 Form_Load 或 Form_Initialize 过程中将 Value 属性设置为 vbChecked。

可将 Value 属性设置为 vbGrayed 以禁用复选框。例如,有时可能希望在满足某条件之前禁用复选框。

Click 事件

无论何时单击 CheckBox 控件都将触发 Click 事件,然后编写应用程序,根据复选框的状态执行某些操作。在下例中,每次单击 CheckBox 控件时都将改变其 Caption 属性以指示选定或未选定状态。

Private Sub Check1_Click()
   If Check1.Value = vbChecked Then
      Check1.Caption = "Checked"
   ElseIf Check1.Value = vbUnchecked Then
      Check1.Caption = "Unchecked"
   End If
End Sub

注意 如果试图双击 CheckBox 控件,则将双击当作两次单击,而且分别处理每次单击;这就是说,CheckBox 控件不支持双击事件。

响应鼠标和键盘

在键盘上使用 TAB 键并按 SPACEBAR 键,由此将焦点转移到 CheckBox 控件上,这时也会触发 CheckBox 控件的 Click 事件。

可以在 Caption 属性的一个字母之前添加连字符,创建一个键盘快捷方式来切换 CheckBox 控件的选择。例如:

本例中,按 ALT+C 组合键将使控件的状态在选定和未选定之间切换。

增强 CheckBox 控件的视觉效果

CheckBox 控件象 CommandButton 和 OptionButton 控件一样,可通过更改 Style 属性的设置值后使用 Picture、DownPicture 和 DisabledPicture 属性增强其视觉效果。例如,有时可能希望在复选框中添加图标或位图,或者在单击或禁止控件时显示不同的图象。