To show the current progress indication of the long running background operation, you can raise the ProgressChanged event on the worker process and update the UI directly from here. The ProgressChanged handler runs in the UI thread and occurs when BackgroundWorker.ReportProgress(System.Int32) is called from the DoWork handler. For this to work, make sure that you have set the WorkerReportsProgress property of the worker to true.
You can also check whether BackgroundWorker is running an asynchronous operation. The IsBusy property will return true if it is running the background operation.
In case you want to cancel a running background worker, you can call the CancelAsync() method of the worker to request cancellation of a pending background operation. If BackgroundWorker.WorkerSupportsCancellation is set as false, it will throw InvalidOperationException.