2016-08-05 92 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 
相关问题