【发布时间】:2014-07-14 19:52:59
【问题描述】:
我只是在 vb express 2008 中玩弄,我决定玩进度条控件。我设置了两个标签和一个计时器,以使进度条值上升,然后在达到极限时下降。然后它重复这个。它工作得很好,除了进度条对增量的响应很慢并且它在其增量周期结束时跳到最大值。我将计时器设置为 1 毫秒间隔,这是我的代码,
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
If Label2.Text = "100" Then
number = number - 1
Label3.Text = number
ProgressBar1.Value = number
ProgressBar1.Update()
End If
If Label3.Text = "0" Then
number = number + 1
Label2.Text = number
ProgressBar1.Value = number
ProgressBar1.Update()
End If
End Sub
【问题讨论】:
-
number变量在哪里创建/设置?就您那里的代码而言,似乎number、您的标签和进度条永远不会改变,除非值是100或0?这是故意的吗?你能澄清一下你的代码到底应该做什么吗? -
与我的回答相关的声音:stackoverflow.com/a/23682919/1842065
-
这是正常的,ProgressBar 动画进度。让它平稳地增加,即使你强迫它踩。动画不可避免地会导致滞后。你移动得太快了。一个愚蠢的技巧是强迫它过冲然后向后移动。
-
@HansPassant - 是的,我同意,这就是我在回答中的建议。
-
@Codemaverick
number不断变化,并在递增时在 label2 中表示,直到达到 100,然后递减并在 label3 中表示,直到为 0。进度条只是反映 @987654328 的值@.
标签: vb.net progress-bar