首页 理论教育VB应用程序运行流程分析

VB应用程序运行流程分析

【摘要】:VB应用程序呈层次结构,典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和自定义对象的类模块。VB程序的运行通过事件来驱动,程序运行的流程完全取决于事件发生与否及发生的顺序。一般来说,应用程序中最早触发、必然发生的事件是Form_Load事件。

VB应用程序呈层次结构,典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和自定义对象的类模块。每个模块包含若干含有代码的过程,过程分为三类:事件过程、通用过程、函数过程。过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。

VB程序的运行通过事件来驱动,程序运行的流程完全取决于事件发生与否及发生的顺序。VB定义了众多的事件,用户程序设计者通常只需对所选择的事件设计一段响应程序(事件过程),由用户操作对象驱动相应的事件发生来完成设定的功能,或由事件过程中的指令调用通用、函数过程来执行指定的操作。事件指窗口或控件能识别的活动,通常发生在用户与应用程序交互时,但也有一些事件由系统自行产生,如计时器事件。

事件驱动是图形操作界面程序设计的本质,即用户控制事件产生,而代码做出反应。事件在Visual Basic中是指由IDE或者系统指定的,能够被窗体或控件所响应和识别的动作。例如,Form_Load就是一个事件,是指窗口在内存中加载完毕后,所触发的一个动作。事件可分为“用户事件”和“系统事件”。例如,鼠标点击事件MouseDown就是一个用户事件;时钟控件Timer是一个典型的系统事件。一般来说,应用程序中最早触发、必然发生的事件是Form_Load事件。

事件的命名是VB系统设定的,命名格式为:

Private Sub 控件名_事件名()

例如:Private Sub Command1_Click()是指在控件(按钮)Command1上发生点击事件。

1.典型事件

(1)窗体和图像框类事件。

Paint事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用Paint事件。注意:当对象的AutoDraw属性为True(-1)时,程序不会调用Paint事件。

Resize事件:当对象的大小改变时触发Resize事件。

Load事件:仅适用于窗体对象,当窗体被装载时运行。

Unload事件:仅适用于窗体对象,当窗体被卸载时运行。

(2)当前光标(Focus)事件。

GotFocus事件:当光标聚焦于该对象时发生事件。

LostFocus事件:当光标离开该对象时发生事件。

注意:Focus英文为“焦点”、“聚焦”之意。最直观的例子是:设有两个窗体,一个窗体被另一窗体部分遮盖。当点击下面的窗体时,其即被激活并全部显示出来,这就是GotFocus事件;而另外一个窗体则被遮盖,并且标题条变灰,称为LostFocus事件。

(3)鼠标操作事件。(www.chuimin.cn)

Click事件:鼠标单击事件。

DblClick事件:鼠标双击事件。

MouseDown、MouseUp事件:鼠标键按下/放开事件。

MouseMove事件:鼠标移动事件。

DragDrop事件:拖放事件,相当于MouseDown、MouseMove和MouseUp的组合。

DragOver事件:鼠标在拖放过程中就会产生DragOver事件。

(4)键盘操作事件。

KeyDown、KeyUp事件:键盘按键的按下/放开事件。

KeyPress事件:键盘按键事件。

(5)改变控制项事件。

Change事件:当对象的内容发生改变时,触发Change事件,最典型的例子是文本框(TextBox)的text属性值被改变时,就会触发Change事件。

DropDown事件:下弹事件,仅用于组合框(ComboBox)对象。

PathChange事件:路径改变事件,仅用于文件列表框(FileBox)对象。

2.其他事件

Timer事件:仅用于计时器,每隔一段时间被触发一次。

一个对象的Enable属性为False时,用户不能通过鼠标或键盘操作,仍可通过程序控制。