文本框文本不为每个循环运行时更新

时间:2012-03-08 03:32:00

标签: vb.net winforms

Windows窗体,VB应用程序...请原谅我这个非常基本的问题,但我忽略了一些非常简单的事情。我希望有一个标签显示变量的当前值,因为每个循环都会运行。我创建了一个非常简单的Button Click事件来确定其失败的位置。就像现在一样,直到每个循环完成运行之后才会显示该值,它应该在每次运行时实际显示计数器值...我知道这是可能的,而且非常简单,因为我在几年前做了但是对于我的生活无法弄清楚为什么我错过了酒吧,因为它应该不断更新标签以反映这一点? 测试子如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim counter As Integer = 0
    For x As Integer = 1 To 200000
        counter += 1
        Label1.Text = Convert.ToString(counter)
    Next
End Sub

2 个答案:

答案 0 :(得分:5)

尝试在循环中添加行Application.DoEvents()

答案 1 :(得分:1)

试试这个

For x As Integer = 1 To 200000
    counter += 1
    Label1.Text = Convert.ToString(counter)
    System.Threading.Sleep(200)
Next

如果您想要报告进展,我建议您使用 BackGroundWorker

SEE HERE
SEE ALSO HERE
BEST LINK for methis