对未来世界的想象:VB正在编程序,加入一个TIMER后突然窗体变回平板怎么办?

来源:百度文库 编辑:神马品牌网 时间:2024/05/11 15:29:52
如题,是否有办法挽救?????
好象是窗体文件出了问题,怎么办????

急救

插入DoEvents转让控制权,以便让操作系统处理其它的事件

如:尽管 Timer 事件是后台处理的最好工具,对耗时极多的任务,情况更是如此,但是,DoEvents 函数还是提供了一种取消任务的简便方法。例如,下列代码将显示一个 "Process" 按钮,单击这个按钮时,它将变成 "Cancel" 按钮。再次单击按钮又将中断正在执行的任务。

'此按钮最初的标题是 "Process"。
Private Sub Command1_Click()
'过程的所有实例都
'共享静态变量。
Static blnProcessing As Boolean
Dim lngCt As Long
Dim intYieldCt As Integer
Dim dblDummy As Double
'按下按钮时,检测是否
'已经在处理。
If blnProcessing Then
'如果正在处理,则取消处理。
blnProcessing = False
Else
Command1.Caption = "Cancel"
blnProcessing = True
lngCt = 0
'执行一百万次浮点
'乘法计算。每一千次后,
'检测是否要取消。
Do While blnProcessing And (lngCt < 1000000)
For intYieldCt = 1 To 1000
lngCt = lngCt + 1
dblDummy = lngCt * 3.14159
Next intYieldCt
'DoEvents 语句允许其它事件
'发生,包括第二次
'按此按钮。
DoEvents
Loop
blnProcessing = False
Command1.Caption = "Process"
MsgBox lngCt & " multiplications were performed"
End If
End Sub

DoEvents 将控制切换到操作环境内核。只要此环境中的所有应用程序都有机会响应待处理事件,应用程序就又恢复控制。这不会使应用程序放弃焦点,但会使后台事件能够得到处理。