示例#1
0
 public static void Execute(string title, IProgressSender progressSender, Action action)
 {
     using (UiProgressWindow window = new UiProgressWindow(title))
     {
         progressSender.ProgressTotalChanged += window.SetTotal;
         progressSender.ProgressIncremented  += window.Incremented;
         Task.Run(() => ExecuteAction(window, action));
         window.ShowDialog();
     }
 }
示例#2
0
 public static T Execute <T>(string title, IProgressSender progressSender, Func <T> func)
 {
     using (UiProgressWindow window = new UiProgressWindow(title))
     {
         progressSender.ProgressTotalChanged += window.SetTotal;
         progressSender.ProgressIncremented  += window.Incremented;
         Task <T> task = Task.Run(() => ExecuteFunction(window, func));
         window.ShowDialog();
         return(task.Result);
     }
 }