我的標題可能會讓我的問題聽起來令人困惑,但事實並非如此。通過ProgressBar顯示任務列表中的進度值
我有一個任務列表和一個ProgressBar
。當我完成任務的列表循環,我想通過一個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.有沒有辦法實現我想要實現的目標?
謝謝。
您是否正在更新主線程上的進度條?看起來你正在做一個工作方法'//在這裏執行任務...'但是我不能告訴 – dtsg 2012-08-14 07:45:02
@Duane,他正在更新主UI線程上的進度條,注意'this。調用'調用。 – 2012-08-14 07:46:18
@Duane我在工作線程上執行它們,因爲這些任務可能需要一些時間,我希望UI能夠顯示所有任務的進度。 – 3aw5TZetdf 2012-08-14 07:46:20