2016-08-05 99 views
0

剛開始學習的Visual Basic ..使用循環通過按鈕單擊更改標籤文本?

此使用循環時,工作原理:框信息彈出直到完成

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 

    Dim d As Integer = 1 

    Do While d < 5 

     MessageBox.Show("Value: " & d) 
     d = d + 1 

    Loop 

End Sub 

當我想要使用它的標籤文本它提供了與點擊

最終輸出
Label2.Text = ("The value of i is: " & i) 

我該如何讓它只在點擊按鈕時循環?我必須添加if語句嗎?

回答

0

循環速度太快,只有在事件中的所有內容都完成後,UI纔會更新。您可以向循環(線程)添加延遲,並強制刷新UI。

Dim d = 1 

    Do While d < 5 
     Label1.Text = ("The value of i is: " & d) 
     d = d + 1 
     Thread.Sleep(1000) 
     Me.Refresh() 
    Loop 

這裏,Thread.Sleep(1000)創建通過暫停當前正在運行的thread延遲。該值以毫秒爲單位。 Me.Refresh()強制窗體重繪。

這不是推薦的處理問題的方式,但它起作用。

0

我該如何讓它僅在點擊按鈕時循環?如果要添加 報表,我需要添加嗎?

當然......你可以改變你的 「d」 從DimStatic的聲明,然後使用If聲明是這樣的:

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 
    Static d As Integer = 1 

    If d < 5 Then 
     Label2.Text = "The value of `d` is: " & d.ToString 
     d = d + 1 
    End If 
End Sub 
相關問題