Bloom.ToPalaso.ProgressDialogBackground.ShowAndDoWork C# (CSharp) Method

ShowAndDoWork() public method

public ShowAndDoWork ( DoWorkEventArgs>.Action work ) : void
work DoWorkEventArgs>.Action
return void
        public void ShowAndDoWork(Action<IProgress, DoWorkEventArgs> work)
        {
            Progress.ProgressIndicator = ProgressBar;

            Progress.AddStatusProgress(StatusLabel);
            ProgressString = new StringBuilderProgress();
            Progress.AddMessageProgress(ProgressString);
            //Progress.AddMessageProgress(_messageLabelProgress);
            _backgroundWorker.RunWorkerCompleted += (sender, e) => Close();
            _backgroundWorker.WorkerReportsProgress = true;
            _backgroundWorker.WorkerSupportsCancellation = true;
            _backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(_backgroundWorker_ProgressChanged);
            _backgroundWorker.DoWork += (sender, arg) => work(Progress, arg);
            ShowDialog();
        }

Usage Example

 public void LaunchDemoDialog()
 {
     using (var dlg = new ProgressDialogBackground())
     {
         dlg.ShowAndDoWork((progress,args) => CommandLineRunner.Run("PalasoUIWindowsForms.TestApp.exe", "CommandLineRunnerTest", null, string.Empty, 60, progress
         ,(s)=>
             {
                 progress.WriteStatus(s);
                 progress.WriteVerbose(s);
             }));
     }
 }
All Usage Examples Of Bloom.ToPalaso.ProgressDialogBackground::ShowAndDoWork