ProgressBar不更新VB.NET
问题描述:
我有一个progressBar和一个控制它的计时器。但由于某种原因,progressBar并没有更新,但progressBar的值随着定时器的变化而变化,我做了一些调试,而且UI的progressBar似乎没有更新,因为值和定时器工作正常。这里是我的代码ProgressBar不更新VB.NET
Private Sub timerReserve_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerReserve.Tick
If progressBar1.Value = progressBar1.Maximum Then
timerReserve.Stop()
....(database updates)
Else
countdown +=1
progressBar1.Value += 1
End If
End Sub
我不知道是怎么回事,它应该工作的优良....提前
感谢
答
在你的进度条属性设置STEP属性与您正在制作的INCREMENT相同(您正在制作+ = 1增量)
然后在您的计时器代码中,强制进度条显示更改。
Private Sub timerReserve_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerReserve.Tick
If progressBar1.Value = progressBar1.Maximum Then
timerReserve.Stop()
....(database updates)
Else
countdown +=1
progressBar1.Value += 1
' ** FORCE UPDATE **
progressBar1.PerformStep()
End If
End Sub
+0
增量很好,在这种情况下,让我们说'a'。 'a + = 1'相当于'a = a + 1' – ocespedes
这可能是因为你的计时器比用户界面刷新的速度快。定时器的间隔是多少? – DDPWNAGE
我有1000ms的间隔,1秒 – ocespedes
ProgressBar的最大值是多少? – Muhammad