vb编程change事件
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])
Change事件语法包括下列部分:
说明
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 函数或语句。
Change 事件示例
本例在TextBox控件中显示水平滚动条的Value 属性的数值。要尝试这个例子,需创建一个带有TextBox控件及HScrollBar控件的窗体,然后将码粘贴到一个带有水平滚动条(HScrollBar控件) 和TextBox控件的窗体的声明部分。按F5 键并单击水平滚动条。
Private Sub Form_Load ()
HScroll1.Min = 0 ' 设置最小值。
HScroll1.Max = 1000 ' 设置最大值。
https://www.360docs.net/doc/0d13040153.html,rgeChange = 100 ' 设置 LargeChange.
HScroll1.SmallChange = 1 ' 设置SmallChange.
End SubPrivate Sub HScroll1_Change ()
Text1.Text = HScroll1.Value
End Sub
应用于:
ComboBox 控件
DirListBox 控件
DriveListBox 控件
HScrollBar、VScrollBar 控件
Label 控件
PictureBox 控件
TextBox 控件
相关基础知识:
对象表达式
说明具体对象的表达式,可以包含对象的容器。例如,应用程序可以拥有Application 对象,其中包含Document对象,而Document对象又包含Text对象。
控件数组
有一公共名称、型态、事件过程的一组控件。数组中的每个控件都有唯一索引数,可用来决定是哪个控件识别事件。
层叠事件
由事件过程直接或间接调用它自身所引起的一系列事件,也称为事件的层叠或递归。层叠事件过程经常引起运行时错误的结果,例如堆栈溢出。