DoEvents 函数示例 下列示例在循环中使用 DoEvents 函数,每当循环完成 1000 次时,将执行让给操作系统。DoEvents 返回仅当主应用程序是 Visual Basic时,打开的窗体个数。' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。 Dim I, OpenForms For I = 1 To 150000 ' 循环开始。 If I Mod 1000 = 0 Then ' 如果循环一已完成了 1000 次。 OpenForms = DoEvents ' 将执行让给操作系统。 End If Next I ' 将循环计数器加一。
dim stop as boolean do until stop doevents 'dosth loopPrivate Sub Command1_Click() stop=true End Sub
Dim StopLoop As BooleanPrivate Sub Command1_Click() StopLoop = True End SubPrivate Sub Form_Load() For i = 0 To 10000 ...... DoEvents If StopLoop = True Then Exit For ...... Next i End Sub
Dim i As Integer Dim CU As Boolean Private Sub Command1_Click() CU = True Call WhileEx End SubSub WhileEx() Do While i <= 20000 If CU = False Then Exit Sub Text1.Text = i DoEvents i = i + 1 Loop End SubPrivate Sub Command2_Click() CU = False End Sub
for i=0 to 10000 doevents if not blnStop then 'blnStop as boolean 为全局变量 ...'要执行的操作 else exit for end if nextsub command_click() blnStop=True end sub
下列示例在循环中使用 DoEvents 函数,每当循环完成 1000 次时,将执行让给操作系统。DoEvents 返回仅当主应用程序是 Visual Basic时,打开的窗体个数。' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。
Dim I, OpenForms
For I = 1 To 150000 ' 循环开始。
If I Mod 1000 = 0 Then ' 如果循环一已完成了 1000 次。
OpenForms = DoEvents ' 将执行让给操作系统。
End If
Next I ' 将循环计数器加一。
do until stop
doevents
'dosth
loopPrivate Sub Command1_Click()
stop=true
End Sub
StopLoop = True
End SubPrivate Sub Form_Load()
For i = 0 To 10000
......
DoEvents
If StopLoop = True Then Exit For
......
Next i
End Sub
Dim CU As Boolean
Private Sub Command1_Click()
CU = True
Call WhileEx
End SubSub WhileEx()
Do While i <= 20000
If CU = False Then Exit Sub
Text1.Text = i
DoEvents
i = i + 1
Loop
End SubPrivate Sub Command2_Click()
CU = False
End Sub
doevents
if not blnStop then 'blnStop as boolean 为全局变量
...'要执行的操作
else
exit for
end if
nextsub command_click()
blnStop=True
end sub
所以用doevents呀,这样系统就能响应事件了