public MainCriterionForm( Form prevForm, Model model) { InitializeComponent(); // Подстройка интерфейса this.Left = prevForm.Left; this.Top = prevForm.Top; if (this.FormBorderStyle != FormBorderStyle.FixedSingle) { this.WindowState = prevForm.WindowState; } if (this.WindowState == FormWindowState.Normal) { this.Width = prevForm.Width; this.Height = prevForm.Height; } this._prevForm = prevForm; this._model = model; this._criterialConstraints = new CriterialConstraints(); // Удалим неактивные на данный момент // эксперименты (чтоб не мешались потом) this._model.Experiments.RemoveInactiveExperiments(); // Заполним выпадающий список критериями оптимальности this.FillCriteriaComboBox(); // Обновим таблицу с ограничениями this.FillConstraintsDataGrid(); // Запустим сборщик мусора, чтобы убить // предыдущие ветки System.GC.Collect(); }
public MainCriterionResultsForm( Form prevForm, Model model, CriterialConstraints criterialConstraints, TId mainCriterionId) { InitializeComponent(); // Подстройка интерфейса this.Left = prevForm.Left; this.Top = prevForm.Top; if (this.FormBorderStyle != FormBorderStyle.FixedSingle) { this.WindowState = prevForm.WindowState; } if (this.WindowState == FormWindowState.Normal) { this.Width = prevForm.Width; this.Height = prevForm.Height; } this._prevForm = prevForm; this._model = model; this._criterialConstraints = criterialConstraints; this._showInactiveExperiments = false; // Найдем решение this._criterialConstraints.ApplyCriterialConstraints(ref this._model); MainCriterionSolver solver = new MainCriterionSolver(); this._result = solver.FindDecision(this._model, mainCriterionId); // Заполним таблицу результатами MainCriterionDataGridFiller.FillDataGrid( this._model, this._result, this.dgvData, this._showInactiveExperiments); // Запустим сборщик мусора, чтобы убить // предыдущие ветки System.GC.Collect(); }