平时,我们写好VB代码后,都是直接运行看看程序是否符合既定的功能要求。
但是,却很少想过为什么VB写好的代码,计算机就能够执行。在这其中,计算机经过了哪些过程呢?
窗体的加载、显示、隐藏与卸载
1、加载:窗体在显示之前要先加载到内存:使用语句:
Load 窗体名
2、显示:显示一个窗体使用窗体的Show方法。
窗体名.Show 【0 | 1, Me 】
0:窗体是无模式的(或非模态的),即窗体的出现不会影响用户对其它窗体的操作。
1:窗体是模式的(或模态的),即窗体显示之后,用户就不能对本程序的其它窗体进行操作,直到关闭此窗体为止。
如果在使用此方法之前,窗体未加载到内存,VB会自动加载。
3 、隐藏:隐藏一个窗体,使用其Hide方法。
窗体名.Hide
此方法把窗体的Visible属性设为False。但并不卸载窗体。 程序仍可以对窗体及其控件进行操作,甚至窗体的Timer也在工作。如果在执行此方法之前窗体尚未加载,则加载之。
4 、卸载:把窗体从内存中清除。
Unload 窗体名
卸载掉的只是窗体的显示部件,它的代码,如过程与函数仍可用。
程序运行要经历的事件有:
1、 Initialize事件:窗体的初始化事件,在加载一个窗体时,此事件最先被激活。
2、 Load事件:当窗体被装载入内存时,激活此事件。在以在窗体的此事件中加入启动代码,例如:指定控件缺省属性值,在列表框中加入被始条目, ComboBox 或 ListBox 控件的内容,以及初始窗体级变量等。
3、 Activate事件:当一个窗体第一次被显示或成为当前活动窗体之前,激活此事件。可以在此事件过程中,设置拥有焦点的控件等工作。
4、 Deactivate 事件:当一个窗体不再成为活动窗体时,激活此事件。
5、 QueryUnload事件:当窗体要被卸载之前,先激活此事件。
此事件有两个参数:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
在事件过程中为第一个参数cancel赋一个非零值,会阻止窗体的卸载。第二个参数UnloadMode,说明引起窗体卸载的原因,
0:选择窗口菜单中的“关闭”命令或点击了“关闭”按钮;
1:在程序中使用了Unload语句;
2:操作系统关闭;
3:在Windows的任务管理器中关闭此程序;
4:在MDI窗体关闭引起MDI子窗体的关闭。
程序处理此事件,对未保存的工作进行保存,或中止关闭窗体。
6 、Unload事件:当窗体被卸载,从显示上消失时,激活此事件。
此事件过程的格式是:Private Sub Form_Unload(cancel As Integer),其中有一参数cancel,在事件过程中把参数cancel的值设为非零值,则会阻止窗体的卸载。
7 、Terminate事件:窗体从内存中卸载过程中的最后的一个事件。