我需要Windows窗體應用程序的進度條,但我的過程不是長度特定的,所以我不能將最大值添加到進度條。如何在非長度特定任務或並行循環中使用進度條?
我必須用LongProcess類Run方法運行時間增加進度條值。
void start_click()
{
button1.Enabled=false;
Task.Factory.StartNew(()=>{
Parallel.Foreach(files,f=>{
LongProcess process =new LongProcess(); // Long-running process (is not my control)
process.Run(f);
//progressBarValueIncrement();
});
}).ContinueWith(t=>{
// completed
BeginInvoke(new Action(() => button1.Enabled=true));
});
}
我該如何執行此操作?
您可以使用循環進度條,這說明只是一些正在進行中,你也可以近似您的應用程序運行時間,並在最後一步停止,然後在完成進度時停止它。 – 2012-02-10 13:07:02
也許我在這裏錯過了一些東西,但是如果您知道使用foreach迭代的文件數量,這不是每次完成一次的計數增加1 /計數? – 2012-02-10 13:34:59
@MarkSmith而過程 – oguzh4n 2012-02-10 13:40:08