private void buttonPrevSolution_Click(object sender, EventArgs e)
 {
     currentSolution = currentSolution == 0 ? solutions.Count - 1 : currentSolution - 1;
     Cell.ShowCurrentSolution(solutions[currentSolution]);
 }
 private void buttonNextSolusion_Click(object sender, EventArgs e)
 {
     currentSolution = currentSolution == solutions.Count - 1 ? 0 : currentSolution + 1;
     Cell.ShowCurrentSolution(solutions[currentSolution]);
 }
 private void NumericUpDownMaxCountTop_ValueChanged(object sender, EventArgs e)
 {
     // Добавление/удаление строк в DataGridView с условием сверху.
     numericUpDownMaxCountTop.Value = (int)numericUpDownMaxCountTop.Value;
     Cell.ManualSetupDGVs(false, _MaxLengthTop: (int)numericUpDownMaxCountTop.Value);
 }
 private void DataGridView_CellValidated(object sender, DataGridViewCellEventArgs e)
 {
     // Изменение размера шрифта после ручного ввода при необходимости (применимо к DataGridView с условием - левый и верхний).
     Cell.SetFontSizeForDGVs(e.RowIndex, e.ColumnIndex, (DataGridView)sender);
 }
 private void NumericUpDownMaxCountLeft_ValueChanged(object sender, EventArgs e)
 {
     // Добавление/удаление колонок в DataGridView с условияем слева.
     numericUpDownMaxCountLeft.Value = (int)numericUpDownMaxCountLeft.Value;
     Cell.ManualSetupDGVs(false, _MaxLengthLeft: (int)numericUpDownMaxCountLeft.Value);
 }
 private void NumericUpDownWidthMainZone_ValueChanged(object sender, EventArgs e)
 {
     // Добавление/удаление колонок в DataGridView с решением и условием сверху.
     numericUpDownWidthMainZone.Value = (int)numericUpDownWidthMainZone.Value;
     Cell.ManualSetupDGVs(false, _mainFieldWidth: (int)numericUpDownWidthMainZone.Value);
 }
 private void NumericUpDownHeightMainZone_ValueChanged(object sender, EventArgs e)
 {
     // Добавление/удаление строк в DataGridView с решением и условием слева.
     numericUpDownHeightMainZone.Value = (int)numericUpDownHeightMainZone.Value;
     Cell.ManualSetupDGVs(false, _mainFieldHeigth: (int)numericUpDownHeightMainZone.Value);
 }
 private void NumericUpDownDelay_ValueChanged(object sender, EventArgs e)
 {
     // Установка шага обновления (для поочередного вывода расчитанных значений ячеек на экран)
     Cell.SetDelay((int)numericUpDownDelay.Value);
 }
 private void ButtonSave_Click(object sender, EventArgs e)
 {
     // Сохранение результата расчета как изображение
     Cell.SaveAsPicture(panelWithDGVs);
 }