/// <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); }