使用循环通过按钮点击更改标签文本?

时间:2016-08-05 01:42:08

标签: vb.net

刚开始学习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语句?

2 个答案:

答案 0 :(得分: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()强制重绘表单。

这不是推荐的处理问题的方法,但它确实有效。

答案 1 :(得分:0)

  

如何只在点击按钮时才使其循环?我是否必须添加if   语句?

当然......您可以将“d”的声明从Dim更改为Static,然后使用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