public void ProcessTaskByParts(ProcessorTask task) { ProgramForm.SetDataGridValue("state", DataGridRowIndex, "WORK"); IsReady = false; task.ProcessTaskByParts(this); OperationsDone += task.CountOperationsDone; if (task.IsCompleted) { TasksDone++; ProcessorTasks.Dequeue(); ProgramForm.SetDataGridValue("countTasksDone", DataGridRowIndex, TasksDone.ToString()); ProgramForm.SetDataGridValue("countOperationsDone", DataGridRowIndex, OperationsDone.ToString()); } IsReady = true; ProgramForm.SetDataGridValue("state", DataGridRowIndex, "WAIT"); }