进度条运行的时间少于定义的时间
本文关键字:时间 定义 于定义 运行 | 更新日期: 2023-09-27 17:56:30
我创建了一个函数,该函数获取毫秒数,然后运行进度条,但结果是进度条运行的时间少于定义的时间。
this.timerProgress.Tick += new System.EventHandler(this.timerProgress_Tick);
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;
}
}
使用 AnimateProgBar(100),最终将创建一个 1 毫秒的间隔。
timerProgress.Interval = 毫秒;//不要除以 100
this.timerProgress.Tick += new System.EventHandler(this.timerProgress_Tick);
public void AnimateProgBar(int milliSeconds)
{
if (!timerProgress.Enabled)
{
this.Invoke((MethodInvoker)delegate { pbStatus.Value = 0; });
timerProgress.Interval = milliSeconds; //do not divide by 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;
}
}
调用AnimateProgBar(1000)
将导致以下计算:1000 / 100
.这等于10
.
Timer
间隔已以毫秒为单位。因此,您实际上是将间隔设置为 10ms
.