//запуск прогресс бара private void ProgressStart() { //LoopMethod(TaskID); DateTime start = DateTime.Now; CommandUsageMode mode = CommandUsageMode.TaskParallelUsage; UseWaitCursor = true; CommandUsage.CommandUsage comm = new CommandUsage.CommandUsage(taskId, mode); Task runner = Task.Factory.StartNew(() => comm.Dispatcher()); runner.Wait(); UseWaitCursor = false; TimeSpan diff = DateTime.Now - start; MessageBox.Show(diff.ToString()); this.DialogResult = DialogResult.OK; }
//запуск задачи private void buttonRunTask_Click(object sender, EventArgs e) { if (listViewDetails.SelectedItems.Count != 0) { var item = listViewDetails.SelectedItems[0]; int taskId = Int32.Parse(item.SubItems[0].Text); toolStripStatusLabelRun.Text = "Task in progress and still doing some times... Please Wait!"; //this.Parent.UseWaitCursor = true; //this.Enabled = false; this.MdiParent.Enabled = false; start = DateTime.Now; //ПРОБЛЕМА!!!! CommandUsageMode mode = CommandUsageMode.LoopUsage; switch (checkBoxThreading.CheckState) { case CheckState.Checked: mode = CommandUsageMode.TaskParallelUsage; break; case CheckState.Unchecked: mode = CommandUsageMode.LoopUsage; break; } CommandUsage.CommandUsage comm = new CommandUsage.CommandUsage(taskId, mode); //подписываемся на событие о, том что задачи завершены comm.taskCompleted += this.UnlockApplicationAfterComplete; //вызываем задачу comm.Dispatcher(); #region CHILD TASK PROGRESS //MessageBox.Show("Операция может занять несколько минут!"); //UseWaitCursor = true; //DateTime start = DateTime.Now; ////ПРОБЛЕМА!!!! //CommandUsageMode mode = CommandUsageMode.LoopUsage; //CommandUsage.CommandUsage comm = new CommandUsage.CommandUsage(taskId, mode); //comm.Dispatcher(); //TimeSpan diff = DateTime.Now - start; //UseWaitCursor = false; //MessageBox.Show("Время затраченная на операцию {0}", diff.ToString()); //Task_Progress frm = new Task_Progress(taskId); //DialogResult result = frm.ShowDialog(); //if (result == DialogResult.OK) //{ // frm.Close();//прогресс бар //} #endregion } }
public CommandUsage(int taskId, CommandUsageMode mode) { this._taskId = taskId; this._mode = mode; }
public CommandUsage(int taskId, CommandUsageMode mode) { this.taskId = taskId; this.mode = mode; }