private void SettingsV_Closing(object sender, CancelEventArgs e) { if (wasChange) { var res = MessageBox.Show("Save changes?", "Changes was made", MessageBoxButton.YesNoCancel); if (res == MessageBoxResult.Cancel) { e.Cancel = true; } else if (res == MessageBoxResult.Yes) { if (EvoEngine.NodesCount != NodesCount) { EvoEngine.IndividualsLength = PopSize; EvoEngine.NodesCount = NodesCount; EvoEngine.Matrix1 = MatrixFactory.CreateRandomDiagonal(NodesCount, 0, 100); EvoEngine.Matrix2 = MatrixFactory.CreateRandomDiagonal(NodesCount, 0, 100); } else { EvoEngine.IndividualsLength = PopSize; EvoEngine.NodesCount = NodesCount; CopyMatrices(); } EvoEngine.Mutation = Mutation; try { EvoEngine.ReCreateEvolutionary(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); e.Cancel = true; } } } }