刚开始学习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 :(得分: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