public void ReviewResults(string process = null) { //process can have 1,2 or 3 value reviewResultsCurrentProcess = process; var name = "ReviewML" + reviewResultsCurrentProcess; _views.MainForm.ReviewMLOpenedFromStart = false; int viewIndex = viewsManager.GetViewIndex(name); if (viewIndex < 0) { //All ok downloadWorker = new BackgroundWorker(); downloadWorker.WorkerSupportsCancellation = true; downloadWorker.WorkerReportsProgress = true; downloadWorker.RunWorkerCompleted += downloadWorker_RunWorkerCompleted; downloadWorker.ProgressChanged += downloadWorker_ProgressChanged; downloadWorker.DoWork += downloadWorker_DoWork; fgSVM = new FormGenerateSVMProgress(); fgSVM.btnCancel.Enabled = false; downloadWorker.RunWorkerAsync(); fgSVM.ShowDialog(); } else { viewsManager.ActivateView(viewIndex); } }