
CheckBox 应用程序
这个例子使用一个CheckBox 来决定文本用普通字体还是用斜体字显示。关于此例的工作版本,请参阅应用程序示例Controls.VBp 中的Check.frm。如图 3.10 所示,此应用程序有一个TextBox,一个Label,一个CommandButton和两个CheckBox。

下表列出了应用程序中的对象的属性设置。

选定粗体或斜体时,CheckBox 的 Value 属性值设置为 1 ,不选定时为 0。缺省 Value 值为 0,所以除非改变 Value 属性值,否则第一次显示时不会选定 CheckBox。可以用常量 vbChecked 和 VBUnchecked 表示数值 1 和0。
check box 应用程序中的事件
当单击 CheckBox 时,会发生 CheckBox 的 Click 事件。此事件过程测试是否选定 CheckBox(即是否 Value = VBChecked)。如果选定,通过设置 Font对象的 Bold 或 Italic 属性,将文本转换为粗体或斜体;该 Font 对象是由TextBox 的 Font 属性返回的。
Private Sub chkBold_Click ()
If ChkBold.Value = VBChecked Then '如果选定。
txtDisplay.Font.Bold = True
Else '如果没有选定。
txtDisplay.Font.Bold = False
End If
End Sub
Private Sub chkItalic_Click ()
If ChkItalic.Value = VBChecked Then '如果选定。
txtDisplay.Font.Italic = True
Else '如果没有选定。
txtDisplay.Font.Italic = False
End If
End Sub
用选项按钮进行选项分组
选项按钮表示给用户一组两个或更多的选择。但是,不同于 CheckBox,选项按钮总是作为一组的组成部分工作的;因此,选择一个选项按钮就会立即清除该组中的其它按钮。定义一个选项按钮组,告诉用户“这是一组选择,从中选一个,而且只选一个”。
例如,在图 3.11 所示的选项按钮组中,用户只能在三个选项按钮中选择一个。

创建选项按钮组
直接放在一个窗体中(也就是不在 Frame 或 PictureBox 中)的所有的选项按钮构成一组。如果想创建别的选项按钮组,必须将其中一些选项按钮组放到 Frame 或 PictureBox 中去。
所有在给定的 Frame 中的选项按钮,组成一个独立的组,在 PictureBox 中的所有选项按钮也是如此。用这种方法生成一个独立的组时,总是要先画好一个 Frame 或 PictureBox ,然后,将选项按钮画到里面。图 3.12 显示了一个具有两个选项按钮组的窗体。

在 Frame 中画了一组选项按钮后,用户只能在组内选择一个选项按钮。要在 Frame 中为控件分组,请按照以下步骤执行:
1. 在“工具箱”中选择 Frame 控件,并在窗体上画出 Frame。
2. 在“工具箱”中选择 OptionButton 控件,并在 Frame 内画出控件。
3. 如果还想在 Frame 中增加选项按钮,重复步骤 2。先画 Frame ,再在 Frame 上画每个控件,这样移动 Frame 时控件会一起移动。如果将已经存在的控件移到 Frame 上,此控件不会和 Frame 一起移动。
注意 如果将已存在的控件分组到一个 Frame 中去,可以选择这些控件,然后剪贴到 Frame 或 Picture 控件上去。
控件的容器
当控件是独立的对象时,窗体和控件之间存在着某种父子关系。图 3.12 表明 选项按钮怎样才能包含在一个窗体或一个 Frame 控件中。
要理解容器的概念,首先要把所有的控件都想象为所在窗体的孩子。实际上,大多数控件都支持只读 Parent 属性,它的值就是控件所在的窗体。作为孩子,控件决定其在父窗体上的位置。控件的 Left 属性和 Top 属性是相对父窗体而言,且控件不能移出父窗体的边界。移动容器的同时也移动了控件,因此控件与容器的相对位置不变(即控件的 Left 属性和 Top 属性不变)。
选定或禁止选项按钮
一个选项按钮可以用以下方法选择:
1.在运行期间用鼠标单击选项按钮。
vb的属性、方法和事件(一)