首页 理论教育 优化程序效率:闲置循环与DoEvents使用

优化程序效率:闲置循环与DoEvents使用

时间:2023-10-20 理论教育 版权反馈
【摘要】:为了改变这种执行顺序,VB提供了闲置循环和DoEvents语句。当执行闲置循环时将占用全部CPU时间,不允许执行其他事件过程,使系统处于无限循环中,没有任何反应。为此,VB提供了一个DoEvents语句,使得当执行闲置循环时,可以通过该语句把控制权交给周围环境使用,然后回到原程序继续执行。程序中包含3个窗体Form1、Form2和Form3,分别作为主窗体、输入成绩窗体、计算成绩的显示窗体。

优化程序效率:闲置循环与DoEvents使用

VB是事件驱动型程序设计语言,也就是当某个事件发生时才执行相应的程序。如果程序在运行中没有任何事件发生,则应用程序处于一种“闲置”状态;另一方面,当VB正在执行某一过程时,则应用程序处于一种“忙碌”状态,将停止对其他事件的处理(比如不再接受键盘事件或鼠标事件),直到这一过程处理完毕。为了改变这种执行顺序,VB提供了闲置循环(Idle Loop)和DoEvents语句。所谓“闲置循环”,就是当应用程序处于闲置状态时,用一个循环来执行其他操作。当执行闲置循环时将占用全部CPU时间,不允许执行其他事件过程,使系统处于无限循环中,没有任何反应。为此,VB提供了一个DoEvents语句,使得当执行闲置循环时,可以通过该语句把控制权交给周围环境使用,然后回到原程序继续执行。

DoEvents既可以作为函数使用,也可以作为语句使用,一般格式为

窗体号=DoEvents[()]

当DoEvents作为函数使用时,DoEvents返回当前装入VB应用程序工作区的窗体号,也可将该返回值赋予已定义的变量,如N=DoEvents()。

【案例7-6】一个简单的多窗体应用程序设计。

【案例要求】

界面如图7-20所示。程序中包含3个窗体Form1、Form2和Form3,分别作为主窗体、输入成绩窗体、计算成绩的显示窗体。

【案例操作】

(1)添加窗体、设置相关属性

点击“工程”菜单下的“添加窗体”,分别添加窗体From2、Form3,添加后的效果如图7-20(a)所示。其中Form1用作主窗体、Form2用作输入分数窗体、Form3用作计算分数窗体。分别设置各窗体的属性,主要属性设置见表7-14。

(www.xing528.com)

图7-20 多窗体相关属性设置

表7-14 各个窗体主要属性

(2)三个窗体代码设计

Form1窗体中事件代码

(3)运行程序

按F5键或点击工具栏中的“运行”按钮运行程序,程序运行效果如图7-20中的(b)(c)(d)所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈