_Change(指示一个控件的内容已经改变的。
此事件如何和何时发生则随控件的不同而不同:
ComboBox - 改变控件的文本框部分的正文。该事件仅在 Style 属性设置为 0(下拉 Combo)或 1(简单
Combo)和正文被改变或者通过代码改变了 Text 属性的设置时才会发生。
DirListBox - 改变所选择的目录。该事件在双击一个新的目录或通过代码改变 Path 属性的设置时发生。
DriveListBox - 改变所选择的驱动器。该事件当选择一个新的驱动器或通过代码改变 Drive 属性的设置时发生。
HScrollBar 和 VScrollBar(水平和垂直滚动条) - 移动滚动条的滚动框部分。该事件在进行滚动或通过代码改变
Value 属性的设置时发生。
Label - 改变 Label 的内容。该事件在一个 DDE 链接更新数据或通过代码改变 Caption 属性的设置时发生。
PictureBox - 改变 PictureBox 的内容。该事件当一个 DDE 链接更新数据或通过代码改变 Picture
属性的设置时发生。
TextBox - 改变文本框的内容。该事件当一个 DDE 链接更新数据、用户改变正文或通过代码改变 Text
属性的设置时发生。
语法:
Private Sub object_Change([index As Integer])
index 一个整数,用来唯一地标识一个在控件数组中控件。
说明:
Change 事件过程可协调在各控件间显示的数据或使它们同步。例如,可用一个滚动条的 Change 事件过程更新一个
TextBox 控件中滚动条的 Value 属性的设置。或者可以利用 Change
事件过程在一个工作区里显示数据和公式,在另一个区域里显示结果。
Change 事件过程在更新系统控件(DirListBox,DriveListBox 和 FileListBox)中的各属性时也是有用的。例如,可更新一个
DirListBox 控件的 Path 属性设置来反映一个 DriveListBox 控件的 Drive 属性设置的改变。
注意 一个 Change 事件过程有时会导致一个层叠事件。这种情况在控件的 Change
事件过程改变该控件的内容时会发生,例如,通过用代码设置一个决定该控件的值的属性,如对一个 TextBox 控件的 Text
属性之类的设置。为了避免层叠事件:
如果可能,应避免为控件编写能改变该控件内容的 Change
事件过程。如果编写了那样的过程,应确保设置一个标志用来防止在当前变化进行中更进一步的变化。
避免创建两个或两个以上其 Change 事件过程互相影响的控件。例如,两个 TextBox 控件在它们的 Change
事件期间互相更新。
避免对 HScrollBar 和 VScrollBar 控件在 Change 事件中使用 MsgBox 函数或语句。
例:本例在 TextBox 控件中显示水平滚动条的 Value 属性的数值。要尝试这个例子,需创建一个带有 TextBox
控件及 HScrollBar 控件的窗体,然后将码粘贴到一个带有水平滚动条 (HScrollBar 控件) 和 TextBox
控件的窗体的声明部分。按 F5 键并单击水平滚动条。
Private Sub Form_Load ()
HScroll1.Min = 0 ' 设置最小值。
HScroll1.Max = 1000 ' 设置最大值。
HScroll1.LargeChange = 100 ' 设置 LargeChange.
HScroll1.SmallChange = 1 ' 设置SmallChange.
End Sub
Private Sub HScroll1_Change ()
Text1.Text = HScroll1.Value
End Sub
|