Background Worker makes threads easy to implement in Windows Forms applications. Other tasks are running in background worker it will not freeze User Interface. It is required to update the user interface when the task is done.
Let's take an example, I want to bind data in data grid without freezing the User Interface.
Background worker Code
Create Instance of backgroundworker & create two event handlers "DoWorkEventHandler" & "RunWorkerCompletedEventHandler".
Here "worker_DoWork" is used for fetching data this method is running in backgroundData without freezing UI. When all data fetches Method "worker_RunWorkerCompleted" is bound data in grid.