作者ganganx (埃阿)
看板Visual_Basic
标题[.NET] 耗时很长的回圈可以随时中断吗
时间Mon Apr 8 16:16:09 2013
请问 比如一个回圈耗时30秒
for i as int32 = 0 to 10
sleep (30000)
Application.DoEvents()
If stop = False Then
stop = True
Exit for
End If
next
类似这样的时候
就算我按了BUTTON把stop变成false
也要等30秒後回圈才会停止
如果想要随时停止 有什麽好方法呢
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.35.250.157
1F:→ MOONRAKER:你就让他连续睡30次每次一秒不就得了 |D 04/08 17:08
2F:→ Abbee:你写了sleep不就是为了要等吗? 04/08 19:29
3F:→ ganganx:30秒是做很多事的大约时间 目前改用1F建议 把程式再切成 04/08 21:02
4F:→ ganganx:很多小段 每段加上DoEvents 谢谢 04/08 21:03
5F:→ Abbee:doevents不建议常用~另开thread就可以下指令终止了 04/08 21:24
6F:→ ganganx:请问是指用B执行绪去终止A执行绪(回圈)的意思吗 04/08 21:37
7F:→ s3748679:BackgroundWorker 参考看看吧~ 04/08 22:20
8F:→ ganganx:好的 多谢楼上各位板友指点 有点头绪了 04/08 22:52
9F:推 chinoyan:放到另一个线程(执行绪),应该是最佳做法 04/09 07:40