我正在使用后台线程来运行我在标签上使用的秒表并增加进度条。计时器似乎准确地保持时间,但进度条没有达到我预期的100%。
我试图同时使用时间35秒,并且在接近36秒时达到100%,有人可以告诉我为什么吗?
进度条的最大值设置为350,值设置为0.
private int currentScore = 0;
Stopwatch swTimer = new Stopwatch();
private void backgroundWorkerTimer_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
TimeSpan elapsedTime = swTimer.Elapsed;
labelTime.Text = String.Format("{0}.{1:%f}", elapsedTime.Seconds, elapsedTime);
progressBarTimer.Increment(1);
}
private void backgroundWorkerTimer_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
backgroundWorkerTimer.ReportProgress(0);
System.Threading.Thread.Sleep(100);
}
}
答案 0 :(得分:0)
这似乎已经干涸所以我会关闭它。我最终制作了progressBar max 345并且似乎在35秒左右结束了,我只是用它来表示剩下的时间。
有兴趣知道为什么350作为最大值并不准确,尽管labelTime正在跟上。