Activate、Deactivate 事件
Activate -当一个对象成为活动窗口时发生。
Deactivate -当一个对象不再是活动窗口时发生。
语法
Private Sub object_Activate( )
Private Sub object_Deactivate( )
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
说明
一个对象可以通过诸如单击它,或使用代码中的Show 或SetFocus 方法之类的用户操作而变成活动的。
事件仅当一个对象可见时才发生。例如,除非使用Show 方法或将窗体的Visible 属性设置为True,否则,一个用Lo
加载的窗体是不可见的。
和Deactivate 事件仅当焦点在一个应用程序内移动时才发生。在另一个应用程序中将焦点移向或移离一个对象时,不会触发任
件。当一个对象卸载时,不会发生Deactivate 事件。
vb所有代码Activate 事件在GotFocus 事件之前发生,LostFocus 事件在Deactivate 事件之前发生。
子窗体来说,这些事件仅当焦点从一个子窗体改变到另一个子窗体时才会发生。例如,在一个带有两个子窗体的MDIForm 对窗体之间移动时,它们能接收这些事件。然而,当焦点在一个MDI 子窗体和一个非MDI 子窗体之间移动时,父MDIFo
收Activate 和Deactivate 事件。
由Visual Basic 建立的.exe 文件显示一个对话框,此对话框也是由建立在Visual Basic 中的一个.dll 文件所创xe 文件的窗体将获得Deactivate 和LostFocus 事件。这可能是不期望的,因为下列情况下不应获得Deactivate 事件:
如果对象是一个过程之外的部件。
如果对象不是用Visual Basic 编写的。
在开发环境中调用一个Visual Basic 建立中的DLL 时。
----------------------------------------
Change 事件(ActiveX 控件)
指示一个控件的内容已经改变的。此事件如何和何时发生则随控件的不同而不同:
x -改变控件的文本框部分的正文。该事件仅在Style 属性设置为0(下拉Combo)或1(简单Combo)和正文被
通过代码改变了Text 属性的设置时才会发生。
DirListBox -改变所选择的目录。该事件在双击一个新的目录或通过代码改变Path 属性的设置时发生。
DriveListBox -改变所选择的驱动器。该事件当选择一个新的驱动器或通过代码改变Drive 属性的设置时发生。
r 和VScrollBar(水平和垂直滚动条)-移动滚动条的滚动框部分。该事件在进行滚动或通过代码改变Value 属性的设Label -改变Label 的内容。该事件在一个DDE 链接更新数据或通过代码改变Caption 属
性的设置时发生。tureBox -改变PictureBox 的内容。该事件当一个DDE 链接更新数据或通过代码改变Picture 属性的设置时发生
Box -改变文本框的内容。该事件当一个DDE 链接更新数据、用户改变正文或通过代码改变Text 属性的设置时发生
语法
Private Sub object_Change([index As Integer])
Change 事件语法包括下列部分:
部分描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
index 一个整数,用来唯一地标识一个在控件数组中控件。
说明
事件过程可协调在各控件间显示的数据或使它们同步。例如,可用一个滚动条的Change 事件过程更新
一个TextBox 控件中Value 属性的设置。或者可以利用Change 事件过程在一个工作区里显示数据和公式,在另一个区域里显示结果。
事件过程在更新系统控件(DirListBox,DriveListBox 和FileListBox)中的各属性时也是有用的。例如,可更新一个DirListB 的Path 属性设置来反映一个DriveListBox 控件的Drive 属性设置的改变。
个Change 事件过程有时会导致一个层叠事件。这种情况在控件的Change 事件过程改变该控件的内容时会发生,例如,通设置一个决定该控件的值的属性,如对一个TextBox 控件的Text 属性之类的设置。为了避免层叠事件:
,应避免为控件编写能改变该控件内容的Change 事件过程。如果编写了那样的过程,应确保设置一个标志用来防止在当前变化
进一步的变化。
创建两个或两个以上其Change 事件过程互相影响的控件。例如,两个TextBox 控件在它们的Change 事件期间互相更
避免对HScrollBar 和VScrollBar 控件在Change 事件中使用MsgBox 函数或语句。
-------------------------------------
Load 事件
此事件是在一个窗体被装载时发生。当使用Load 语句启动应用程序,或引用未装载的窗体属性或控件时,此事件发生。
语法
Private Sub Form_Load( )
Private Sub MDIForm_Load( )
说明
ad 事件过程用来包含一个窗体的启动代码—例如,指定控件缺省设置值,指明将要装入ComboBox 或ListBox 控件的内
初始窗体级变量等。
Load 事件是在Intialize 事件之后发生。
中引用一个未装载窗体的属性时,该窗体自动被装载但不自动成为可视窗体,除非MDIChild 属性被设置
为True。如果一个未被装载而一个MDI 子窗体却被装载,则MDIForm 和该子窗体都自动被装载并且都将成为可视的窗体。除非使用Show 将Visible 属性设置为True,否则其它窗体都不能显示出来。
Form Load 事件中的下列代码可自动装载一个MDI 子窗体(假设Form1 本身的MDIChild 属性被设置为True)
Dim NewForm As New Form1
NewForm.Caption = "New Form "'.…按引用装载窗体‟。
由于所有子窗体在装载时都可视,对Caption 属性的引用将装载该窗体并使其可视。
当为诸如Activate,GotFocus,Paint 和Resize 等相关事件创建过程时,要确保它们的操作不冲突,而且它们也不会导致循环的------------------------------------
GotFocus 事件
得焦点时产生该事件;获得焦点可以通过诸如TAB 切换,或单击对象之类的用户动作,或在代码中用SetFocus 方法改变焦
语法
Private Sub Form_GotFocus( )
Private Sub object_GotFocus([index As Integer])
GotFocus 事件包含下列部分:
部分描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
index 一个整数,用来唯一地标识一个在控件数组中的控件。
说明
tFocus 事件过程用以指定当控件或窗体首次接收焦点时发生的操作。例如,通过给窗体上每个控件附加一个GotFocus 事件过
要说明或状态条信息给外界提供指导。根据获取焦点控件的不同,通过使其有效、禁止或者是显示其它控件的方式,也可以提供出可
个控件仅当其Enabled 和Visible 属性都设置为True 时才能接收焦点。为了移动焦点,在Visual Basic 中
要自定
口,对于窗体上的控件需设置Tab 键顺序或指定访问键。
------------------------------------
LostFocus 事件
在一个对象失去焦点时发生,焦点的丢失或者是由于制表键移动或单击另一个对象操作的结果,或者是代码中使用SetFocus 方
点的结果。
语法
Private Sub Form_LostFocus( )
Private Sub object_LostFocus([index As Integer])
LostFocus 事件包括下列部分:
部分描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
index 一个整数,它用来唯一地标识一个在控件数组中的控件。
说明
事件过程主要是用来对更新进行验证和确认。使用LostFocus 可以在焦点移离控件时引进确认。这类事件过程的另一种用途事件过程中的应用类似,可以隐藏、显示其它对象或者使它们有效或无效。也可使设置在该对象的GotFocus 事件过程中的条件
其进行更改。
Visual Basic 所建立的.exe 文件要显示一个由也是用Visual Basic 所建立的.dll 文件所创建的对话框,则该.e 的窗体将得到Deactivate 和LostFocus 事件。这可能是不希望的,因为对话框将不能获得Deactivate 事件:
如果该对象是进程外的部件。
如果该对象不是用Visual Basic 编写成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论