private void btnNext_Click(object sender, EventArgs e) { try { bool result = _computingProcessor.ComputeNextPlugin(); if (!result) { btnNext.Enabled = false; btnStartStop.Text = "Запуск"; _isProcessing = false; _computingProcessor = null; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnStartStop_Click(object sender, EventArgs e) { try { if (!_isProcessing) { _computingProcessor = new ComputingProcessor(PlowMachine, _queue, UseLog); if (chxbxAutoMode.Checked) { ComputeInAutoMode(); } else { if (chxbxStepByStepMode.Checked) { #region Расчёт в пользрвательском режиме пошагово _computingProcessor.PluginComputeEnd += delegate(string pluginName) { MessageBox.Show("Расчет плагина '" + pluginName + "' закончен.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); }; _computingProcessor.ComputingProcessingEnd += delegate { MessageBox.Show("Расчет закончен.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); }; bool result = _computingProcessor.ComputeNextPlugin(); if (result) btnNext.Enabled = true; _isProcessing = true; btnStartStop.Text = "Стоп"; #endregion } else { #region Расчёт в пользовательском режиме "все за раз" _computingProcessor.ComputingProcessingEnd += delegate { MessageBox.Show("Расчет закончен.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); }; _computingProcessor.ProcessAll(); #endregion } } } else { btnNext.Enabled = false; btnStartStop.Text = "Запуск"; _isProcessing = false; _computingProcessor = null; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }