this will run in main thread.
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
this will run in diffrent thread
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
So change what you want in main thread
only in RunWorkerCompleted & ProgressChanged
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
this will run in diffrent thread
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
So change what you want in main thread
only in RunWorkerCompleted & ProgressChanged
