作者renmax (竹科学友哥)
看板Visual_Basic
标题[.NET] Thread.Sleep 和DoEvents
时间Wed Dec 28 11:21:34 2016
请输入专案类型(网站专案或者应用程式专案):VS2005
各位前辈好,code的片段如下:
Log("GO!")
Do
If Value = 100 Then
Log("Done!")
.............
.............
Exit Do
Else
If Value = 200 Then
Log("YA!")
...............
...............
GoTo ready
End If
System.Threading.Thread.Sleep(100)
System.Windows.Forms.Application.DoEvents()
End If
Loop
从Log处发现从印出GO!看到Done!之间跑了三十多秒,期间并没有印出YA!
所以,我的猜测应该是在下面两行跑了三十多秒的关系
System.Threading.Thread.Sleep(100)
System.Windows.Forms.Application.DoEvents()
请问一下,这两行的用意通常都用在什麽时机点呢?
若我把这两行给Mark了,是否会造成什麽影响呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.176.85
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1482895296.A.3DD.html
1F:→ niklee29: Ya 当然不会出现因为100会先达到然後你就exit do 了... 12/28 14:46
2F:→ renmax: 不好意思 可能我表达有问题 我想问为什麽会在回圈跑三十多 12/28 15:41
3F:→ renmax: 秒後 才会进入IF判断式? 是因为SYSYTEM那两行的关系吗? 12/28 15:42
4F:→ niklee29: sleep(100) 代表程式会停0.1秒後继续,所以看你回圈跑几 12/28 16:09
5F:→ niklee29: 次,每跑一次+0.1s 12/28 16:09
6F:→ niklee29: 如果不是要限制回圈频率就把那两行删了 12/28 16:11