这是我之前的帖子:进度条运行时间少于定义的时间
所有的答案是我不需要将毫秒除以 100,当我尝试这个解决方案时,进度条运行速度变慢,不像第一次运行速度很快,但我认为我需要将毫秒除以 100从进度应该运行的总 100% 中设置每 1%。例如,如果我希望我的进度条将运行 10 秒,那么我将 10000 / 10 每 1%(或计时器滴答)除以 100 毫秒,所以即使我将其配置为 100 它仍然很快
void bittwist_progBarEventHandler(object sender, EventArgs e)
{
this.Invoke((MethodInvoker)delegate { AnimateProgBar((int)sender); });
}
public void AnimateProgBar(int milliSeconds)
{
if (!timerProgress.Enabled)
{
this.Invoke((MethodInvoker)delegate { pbStatus.Value = 0; });
timerProgress.Interval = milliSeconds / 100;
timerProgress.Enabled = true;
}
}
private void timerProgress_Tick(object sender, EventArgs e)
{
if (pbStatus.Value < 100)
{
pbStatus.Value += 1;
pbStatus.Refresh();
}
else
{
timerProgress.Enabled = false;
}
}
例如milliSeconds == 10000
进度条只运行 7 秒