Winform application usually need asynchronous process. Progress status of this process commonly showed with progressbar control.
As a default Thread class accomplish the asynchronous process but .Net has built in BackgroundWorker component to do async easily.
BackgroundWorker component/class has events which are
DoWork handles main async job. ProgressChanged handles displaying async progress info to user. RunWorkerCompleted handles event when async process is completed.
This BackgroundWorker has Cancel ability, so that user can cancel asnyc in the middle of its process. Continue reading