I'm using a background worker for a Windows Form app I'm writing - .NET 3.5.
I'm using the background worker so that I can keep my user interface responsive (i.e. don't need to use Application.DoEvents) specifically when using Progressbar and status messages. However, what I've noticed is that during my DoWork method when I do a .ReportProgress(somevalue, somemsg) it doesn't fire the ProgressChanged event immediately, it often fires longer after I've moved onto other processing.
The end result is that the Progress bar gets update later than the actual processing being done, in some cases it's way out of synch. So at this point I'm sorta wondering why I should even bother with Background worker threads when an Application.DoEvents on the main thread will accomplish a more accurate synch'd UI update??
Am I missing something? Is my choice of BackgroundWorker a bad one? Should I just go with System.Threading and manage all the work around that rather than trying the more simple BackgroundWorker?
View Complete Post