我的标题可能会使我的问题听起来令人困惑,但事实并非如此。
我有一个要完成的任务列表和一个ProgressBar
. 当我遍历任务列表时,我想通过 a 显示进度ProgressBar
:
double percentage;
for(int i = 0; i < tasks.Count; i++)
{
percentage = (double)i + 1 / (double)tasks.Count;
this.Invoke((MethodInvoker)delegate
{
progressBar1.Value = (int)Math.Round(percentage * 100);
});
// Do tasks here...
}
因此,如果我说 20 个任务progressBar1
的值是 5 ((1 / 20) * 100)
,那么当它再次循环时,它的值是 10、15 等等。我现在使用的方法不能正常工作,第一个任务progressBar1
的值为 0,然后当它再次循环时,它的值为 100。有没有办法做我想要实现的目标?
谢谢。