
vb 如何外部立即结束正在运行的子程序?
SubxywhXC1()DimiAsLongDimTempStrAsStringFori=1To10000TempStr=CStr(i)from1.Label1.Capt...
Sub xywhXC1()
Dim i As Long
Dim TempStr As String
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
sleep 20
Next
End Sub
Private Sub Command1_Click()
xywhXC1
End Sub
Private Sub Command2_Click()
‘我想在这里写立即结束正在运行的xywhXC1,因为怎么写
End Sub
想要实现的问题是,按Command2立即结束xywhXC1,望大神帮帮忙啊 展开
Dim i As Long
Dim TempStr As String
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
sleep 20
Next
End Sub
Private Sub Command1_Click()
xywhXC1
End Sub
Private Sub Command2_Click()
‘我想在这里写立即结束正在运行的xywhXC1,因为怎么写
End Sub
想要实现的问题是,按Command2立即结束xywhXC1,望大神帮帮忙啊 展开
展开全部
子过程没法从外部停止,独立进程可以调用windows API实现。
VB不可能从外部结束一个sub、function或者循环,只能在这个sub、function和循环内部结束。
另外你的程序其实是不工作的,当你按下Command1以后,程序就像死机了一样,command2是按不下去的。VB的sleep是前台独占的,进程不会相应任何东西,包括command2按钮,所以即使你按下了command2,程序也会等xywhXC1执行完了才会响应。
另from1.Label1.Caption = TempStr这个根本不刷新,看不出来的,要写成:
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
Do Events
Next
VB不可能从外部结束一个sub、function或者循环,只能在这个sub、function和循环内部结束。
另外你的程序其实是不工作的,当你按下Command1以后,程序就像死机了一样,command2是按不下去的。VB的sleep是前台独占的,进程不会相应任何东西,包括command2按钮,所以即使你按下了command2,程序也会等xywhXC1执行完了才会响应。
另from1.Label1.Caption = TempStr这个根本不刷新,看不出来的,要写成:
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
Do Events
Next
展开全部
Dim StopIt As Boolean
Sub xywhXC1()
Dim i As Long
Dim TempStr As String
For i = 1 To 10000
If StopIt Then Exit For
TempStr = CStr(i)
from1.Label1.Caption = TempStr
sleep 20
Next
End Sub
Private Sub Command1_Click()
StopIt = False
xywhXC1
End Sub
Private Sub Command2_Click()
StopIt = True
End Sub
Private Sub Form_Load()
StopIt = False
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DIM flag as boolean '加
Sub xywhXC1()
Dim i As Long
Dim TempStr As String
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
sleep 20
DOEVENTS '加
if flag then flag=false:exit sub '加
Next
End Sub
Private Sub Command2_Click()
flag = true '加
End Sub
Sub xywhXC1()
Dim i As Long
Dim TempStr As String
For i = 1 To 10000
TempStr = CStr(i)
from1.Label1.Caption = TempStr
sleep 20
DOEVENTS '加
if flag then flag=false:exit sub '加
Next
End Sub
Private Sub Command2_Click()
flag = true '加
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询