ProgressBar没有更新VB.NET

时间:2015-05-24 04:15:38

标签: vb.net progress-bar

我有一个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

我不知道发生了什么,它应该可以正常工作......

提前致谢

1 个答案:

答案 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