第一個for完成對delay_time參數的控制,即共循環多少次內部循環
創新互聯于2013年開始,先為西疇等服務建站,西疇等地企業,進行企業商務咨詢服務。為西疇企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
第二個for(內部循環),完成對j從0到199的控制,共循環200次。
翻譯成匯編就是:
(R0為傳遞參數)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Private Sub Button1_Click()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
如果暫停的3秒有影響,就給他開一個線程:
Private Sub Button1_Click()
Dim th As New Threading.Thread(AddressOf MsgBoxProc)
th.Start()
End Sub
Private Sub MsgBoxProc()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
1. Threading.Thread.Sleep(...)
優點: 簡單
缺點: Sleep期間程序(其實是該線程)沒有任何響應。
2. Timer(定時器)
定時器有3種。Forms.Timer/ Timers.Timer/ Threading.Timer
第一種是在當前線程啟動事件處理,第二種在事件發生時會啟動一臨時線程處理事件,第三種在事件發生時在一臨時線程中調用指定的回調函數。
優點: 不阻塞當前線程
缺點: 需要定義一事件函數以處理定時事件。
3. DoEvents(保證消息循環)
可以使用一循環執行定時。代碼示例:
Public Shared Sub Sleep(ByVal Interval)
Dim __time As DateTime = DateTime.Now
Dim __Span As Int64 = Interval * 10000 '因為時間是以100納秒為單位。
While (DateTime.Now.Ticks - __time.Ticks __Span)
Application.DoEvents()
End While
End Sub
優點: 不阻塞當前線程的消息循環。
缺點: 不能保證消息處理能否及時回來。
===========================================
結論:
1. 在沒有消息循環線程中,使用Thread.Sleep
2. 在帶消息循環線程中,如果需要定時執行一段程序,使用Forms.Timer
3. 在帶消息循環線程中,若只想延時一段時間,請使用上面示例中自定義的Sleep
4. 若要保證定時精度,請使用Threading.Timer或Timers.Timer.(這兩個只是調用接口不一樣, 一個是回調函數,一個是事件;前者更精確些)
在VB.NET中,帶框架窗體的大小是不能為0的,要想做到高、寬都為0,需要自己重繪一個無邊框窗體,用外置圖片來繪制,配合PS做一些圖片,既可以換膚還能做的很漂亮。
按當前代碼修改,你把下面的代碼粘回去就可以了,窗體的高和寬達到最小時,循環會自己退出,避免無限循環;
Select?Case?2
Case?Is?=?1
Dim?w?As?Integer?=?Me.Width
Do
Me.Width?-=?5?:?w?-=?5
Threading.Thread.Sleep(3)
Loop?While?Me.Width?=?w
Case?Is?=?2
Dim?h?As?Integer?=?Me.Height
Do
Me.Height?-=?5?:?h?-=?5
Threading.Thread.Sleep(3)
Loop?While?Me.Height?=?h
Case?Is?=?3
Do
Me.Opacity?-=?0.05
Threading.Thread.Sleep(120)
Loop?Until?Me.Opacity?=?0
End?Select
Imports System.Threading
Thread.Sleep(1000)’延遲1秒
2.PauseWait(1000)’延遲1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tick + HowLong My.Computer.Clock.TickCount
End Sub
網站題目:vb.net延時函數的簡單介紹
文章URL:http://m.newbst.com/article26/dssgdjg.html
成都網站建設公司_創新互聯,為您提供商城網站、域名注冊、品牌網站制作、品牌網站建設、網站收錄、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯