void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Cancelled) { dlg.DialogResult = DialogResult.Cancel; } else if (e.Error != null) { lastException = e.Error; dlg.DialogResult = DialogResult.Cancel; } else { dlg.DialogResult = DialogResult.OK; } dlg.Close(); }