我有一个progressBar和一个控制它的计时器。但由于某种原因,progressBar没有更新,但是它随着计时器的进行而改变了progressBar的值,我做了一些调试,并且进程实时UI似乎没有更新,因为值和计时器工作正常。这是我的代码
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
我不知道发生了什么,它应该可以正常工作......
提前致谢
答案 0 :(得分:2)
在进度条属性中,将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