System.InvalidOperationException: 'This BackgroundWorker states that it doesn't report progress. Modify WorkerReportsProgress to state that it does report progress.'
private void GenerateBackup(object sender, DoWorkEventArgs e) { ConfigurationBLL configurationBLL = new ConfigurationBLL(); BackgroundWorker backgroundWorker = sender as BackgroundWorker; string fileName = (string)(e.Argument as Dictionary<string, object>)["fileName"]; backgroundWorker.ReportProgress(-1,(object) "Generating Database Backup..."); configurationBLL.GetBackupData(dtpFromDateTime.Value, dtpToDateTime.Value, fileName); backgroundWorker.ReportProgress(100, (object)"Backup Database Completed"); }
Form Code 1 Error In Line Number 7
private void BtnGenrateBackup_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "backup files (*.bak)|*.bak|All files (*.*)|*.*"; saveFileDialog.FileName = "Database" + DateTime.Now.ToString("yyyy-MM-dd"); if (DialogResult.OK != saveFileDialog.ShowDialog()) return; LoadingBar loadingBar = new LoadingBar("Database Backup", new DoWorkEventHandler(GenerateBackup), new Dictionary<string, object>() { { "fileName",(object)saveFileDialog.FileName } }); int num1 = (int)loadingBar.ShowDialog(); string taskStatus = loadingBar.TaskStatus; if(taskStatus == "Cancelled") { int num2 = (int)bunifuSnackbar1.Show(this, "Backup cancelled", Bunifu.UI.WinForms.BunifuSnackbar.MessageTypes.Error, 4000); } else if(taskStatus =="") { txtBackupFilePath.Text = Path.GetDirectoryName(saveFileDialog.FileName); txtBackupFileName.Text = Path.GetFileName(saveFileDialog.FileName); int num3 = (int)bunifuSnackbar1.Show(this, "Backup generated successfully", Bunifu.UI.WinForms.BunifuSnackbar.MessageTypes.Error, 4000); } else { int num4 = (int)bunifuSnackbar1.Show(this, taskStatus, Bunifu.UI.WinForms.BunifuSnackbar.MessageTypes.Information, 4000); } }
Form Code 1
private void LoadingBar_Load(object sender, EventArgs e) { try { bgWorkerThread.RunWorkerAsync((object)parameterValues); } catch(Exception ex) { TaskStatus = ex.Message; } }
Form Code 2 LoadgingBar
private void BgWorkerThread_ProgressChanged(object sender, ProgressChangedEventArgs e) { lblStatus.Text = e.UserState.ToString(); if (e.ProgressPercentage >= 0) { progressBarStatus.BorderStyle = BorderStyle.None; progressBarStatus.Value = e.ProgressPercentage; } else progressBarStatus.BorderStyle = BorderStyle.None; }
private void BgWorkerThread_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { TaskStatus = !e.Cancelled ? (e.Error == null ? "" : e.Error.ToString()) : "Cancelled"; Close(); } private void BtnCancel_Click(object sender, EventArgs e) => bgWorkerThread.CancelAsync();