private void CreateOutput(object sender, EventArgs e, int[] years) { try { // create an object to handle communication between // background stuff and progress dialog: _bgworker = HllUtils.MakeWorker( new DoWorkEventHandler(bgworker_DoGenerateWork), new RunWorkerCompletedEventHandler(bgworker_RunWorkerCompleted), new ProgressChangedEventHandler(bgworker_ProgressChanged) ); SetAppState(AppStates.Processing); // create and configure a progress dialog: ProgressForm = new frmProgress(); ProgressForm.Text = Properties.Resources.ProgressGeneratingTitle; ProgressForm.Done = false; ProgressForm.Worker = _bgworker; // Hook up "FormClosed" event handler: ProgressForm.FormClosed += ProgressForm_FormClosed; ProgressForm.Show(); ProgressForm.AddMessage(Properties.Resources.GeneratingOutputFilesMsg); // start the background work: _bgworker.RunWorkerAsync(years); } catch { SetAppState(AppStates.Viewing); if (ProgressForm != null) { ProgressForm.Close(); } throw; } }
private void bgworker_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (e.ProgressPercentage == 100) { ProgressForm.Done = true; } ProgressForm.AddMessage((string)e.UserState); }
private void AddVestaReports(object sender, EventArgs e) { string[] report_names = HllUtils.GetVestaReportNames(); if (report_names != null) { try { // create an object to handle communication between // background stuff and progress dialog: _bgworker = HllUtils.MakeWorker( new DoWorkEventHandler(bgworker_DoImportWork), new RunWorkerCompletedEventHandler(bgworker_RunWorkerCompleted), new ProgressChangedEventHandler(bgworker_ProgressChanged) ); SetAppState(AppStates.Processing); // create and configure a progress dialog: ProgressForm = new frmProgress(); ProgressForm.Text = Properties.Resources.ProgressProcessingReportsTitle; ProgressForm.Done = false; ProgressForm.Worker = _bgworker; // Hook up "FormClosed" event handler: ProgressForm.FormClosed += ProgressForm_FormClosed; ProgressForm.Show(); ProgressForm.AddMessage(Properties.Resources.VestaReportProcessingStartMsg); // start the background work: _bgworker.RunWorkerAsync(report_names); } catch { SetAppState(AppStates.Viewing); if (ProgressForm != null) { ProgressForm.Close(); } throw; } } }