private void HandleDataRequest()
    {
        // show UI notification...
        BackgroundWorkUINotification backgroundWorkUINotification = new BackgroundWorkUINotification();

        backgroundWorkUINotification.CancelClicked += HandleBackgroundWorkUINotificationOnCancelClicked;
        backgroundWorkUINotification.Show(this);

        // start the background worker
        this.backgroundWorker.RunWorkerAsync();
    }
    private void HandleBackgroundWorkUINotificationOnCancelClicked(Object sender, EventArgs e)
    {
        // UI notification Form, Cancelled
        // close the form...
        BackgroundWorkUINotification backgroundWorkUINotification = (BackgroundWorkUINotification)sender;

        backgroundWorkUINotification.Close();

        // stop the background worker thread...
        if (backgroundWorker.IsBusy)
        {
            backgroundWorker.CancelAsync();
        }
    }