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();
 }