进度条运行时间少于定义 - 继续上一篇文章

时间:2013-01-29 07:37:33

标签: c# winforms

这是我之前的帖子:Progress Bar run less time than defined

所有答案都是我不需要将毫秒除以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秒

0 个答案:

没有答案