/// <summary>
 /// Показывает ход выполнения путем непрерывной прокрутки блока в объекте System.Windows.Forms.ProgressBar,
 /// используя форму "отмеченной области" (marquee).
 /// </summary>
 /// <param name="workMethod">Метод, выполняемый асинхронно.</param>
 /// <param name="name">Название операции, используемое для отображения.</param>
 public static void ShowMarquee(DoWorkEventHandler workMethod, string name = "")
 {
     using (var waitForm = new AsyncLoaderForm(workMethod, name, ProgressBarStyle.Marquee))
     {
         waitForm.ShowDialog();
     }
 }
 /// <summary>
 /// Показывает ход выполнения путем увеличения размера ровной, непрерывной полосы
 /// в System.Windows.Forms.ProgressBar.
 /// </summary>
 /// <param name="workMethod">Метод, выполняемый асинхронно.</param>
 /// <param name="max">Общее количество итераций.</param>
 /// <param name="name">Название операции, используемое для отображения.</param>
 public static void ShowContinuous(DoWorkEventHandler workMethod, int max, string name = "")
 {
     using (var waitForm = new AsyncLoaderForm(workMethod, name, ProgressBarStyle.Continuous, max))
     {
         waitForm.ShowDialog();
     }
 }
        /// <summary>
        /// Показывает ход выполнения путем непрерывной прокрутки блока в объекте System.Windows.Forms.ProgressBar,
        /// используя форму "отмеченной области" (marquee).
        /// </summary>
        /// <param name="workMethod">Метод, выполняемый асинхронно.</param>
        /// <param name="name">Название операции, используемое для отображения.</param>
        /// <returns>Возвращает DoWorkEventArgs.Result.</returns>
        public static object ShowResultMarquee(DoWorkEventHandler workMethod, string name = "")
        {
            object result = null;

            using (var waitForm = new AsyncLoaderForm(workMethod, name, ProgressBarStyle.Marquee))
            {
                waitForm.BackgroundWorker.RunWorkerCompleted +=
                    delegate(object sender, RunWorkerCompletedEventArgs args) { result = args.Result; };

                waitForm.ShowDialog();
            }

            return(result);
        }