示例#1
0
        //запуск прогресс бара
        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;
        }
示例#2
0
        //запуск задачи
        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;
 }
示例#4
0
 public CommandUsage(int taskId, CommandUsageMode mode)
 {
     this.taskId = taskId;
     this.mode   = mode;
 }