簡體   English   中英

VB.Net暫停代碼

[英]VB.Net Pause Code

我目前正在嘗試制作一個簡單的老虎機應用。 我正在嘗試使它像帶有旋轉器的傳統老虎機一樣,通過它並顯示不同的圖片。 我一直在嘗試使用在這里許多類似文章中發現的Sleep comand,但它總是使我的程序崩潰。 我測試的最后一個coe如下:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = CStr(Int(Rnd() * 10))  'pick numbers
        Label2.Text = CStr(Int(Rnd() * 10))
        Label3.Text = CStr(Int(Rnd() * 10))
    Threading.Thread.Sleep(1000)

    Label1.Text = CStr(Int(Rnd() * 10))  'pick numbers
    Label2.Text = CStr(Int(Rnd() * 10))
    Label3.Text = CStr(Int(Rnd() * 10))
    Threading.Thread.Sleep(1000)

    Label1.Text = CStr(Int(Rnd() * 10))  'pick numbers
    Label2.Text = CStr(Int(Rnd() * 10))
    Label3.Text = CStr(Int(Rnd() * 10))
    Threading.Thread.Sleep(1000)
End Sub

任何人都可以對我需要更改的內容提出建議嗎? 我希望它彈出幾個不同的數字,然后每秒在它們之間切換。 感謝您的任何幫助,您可以提供

不要在UI線程上調用Sleep

當您的代碼在UI線程上運行時,UI無法更新。
因此,您的所有方法注定會失敗。

相反,請學習新的Async語言功能並編寫

Await Task.Delay(1000)

您不需要聲明kernel32本機函數,因為Threading.Thread.Sleep()對托管代碼執行相同的操作。 后者是首選,實際上,您已經在事件處理程序中使用了什么。

請參見kernel32.dll Sleep和Thread.Sleep()之間的任何區別

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM