...个消息框提示正在运行,再点击另外一个按钮让他停止运行
发布网友
发布时间:2024-09-15 10:09
我来回答
共4个回答
热心网友
时间:2024-10-16 12:07
如果我要是告诉你编程思路,你肯定会把脑袋都拍烂,你就会明白编程,靠的是什么?编程思想!哈哈哈,只有想不到的,没有做不到的。
你是想弹出无数个提示框,点击另外一个按钮就让它停止弹出对话框对不对?
很简单啊,你在循环的时候加入一个判断条件就可以了(对不对?)条件满足才循环,条件一旦不满足就不循环就是了。把你的程序改成如下:
Dim Switch as Boolean '这条很重要,定义一个全局变量,作用就是判断.
Private Sub Form_Load()
Switch = True
End Sub
Private Sub Command1_Click()
Dim shuzhi As Double
Dim shuzhi1 As Double
For shuzhi = 1 To 60000
For shuzhi1 = 1 To 20000
if Switch=False Then Exit Sub
Next shuzhi1
Next shuzhi
Text1.Text = "完成"
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Switch=False
'取消运行的程序该怎么写
End Sub
是不是晃然大悟,代码我没调试,你自己试一下,知道编程思想,实现起来我相信你有更好的办法的.
热心网友
时间:2024-10-16 12:06
先定义一个外部变量比如 Dim bStop As Boolean
然后在你的循环里面加上个暂停的循环。
While (bStop)
'sleep之类的延时函数吧
End While
然后在其他的地方通过修改bStop 的值就可以暂停或者开启你的循环了。
没VB的编程环境了,其他语言是要把你的那个循环加到线程里,不然执行你的循环时候动不了其他的操作(卡住),所以你还要去研究下线程。不过不知道VB里面用doevents是不是可以不用使用线程,你自己测试下吧。
热心网友
时间:2024-10-16 12:11
基本上只靠VB无法实现,因为VB不支持多线程,所以进入循环后程序会一直卡在显示第二个窗口的地方,此时即使设置了第二个窗口非模态显示,取消按钮还是不能点击的.直到程序运行完毕.
除非用VC写个多线程的COM组件,然后在线程中显示窗口就可以了.
热心网友
时间:2024-10-16 12:08
Private stopIt As Boolean
Private Sub Command1_Click()
Dim shuzhi As Double
Dim shuzhi1 As Double
Text1.Text = "正在运行"
For shuzhi = 1 To 60000
If stopIt Then Exit Sub
DoEvents
For shuzhi1 = 1 To 20000
Next shuzhi1
Next shuzhi
Text1.Text = "完成"
End Sub
Private Sub Command2_Click()
Text1.Text = "中断运行"
stopIt = True
End Sub