2013-02-20 68 views
0

ReportProgress的最佳位置是什麼?後臺工作人員報告進度位置

//Do my hard work before report progress 
bkWorker.ReportProgress((int)percent, company.CompanyName); 

bkWorker.ReportProgress((int)percent, company.CompanyName); 
//Do my hard work after report progress 

回答

3

從時間的角度看,這不應該作爲事頂部或底部循環會這麼快發生。

只要確保你蓋邊緣的情況下(0%是從一開始就設置,完成後100%被設置你的選項如下:

while(condition) 
{ 
    report 
    dowork 
} 
report 100% 

OR

report 0% 
while(condition) 
{ 
    dowork 
    report 
} 

OR

while(true) 
{ 
    report 
    if(100%) 
     break; 
    dowork 
} 

所以,這歸結於您的邏輯看起來的偏好。處理時間不會影響

+1

或者換一種說法 - 您應該報告您已完成的工作,而不是您即將完成的工作。 +1 – Justin 2013-02-20 17:49:44