public void CreateParams(BaseFunction function) { var upDowns = new List <ModifiedNumericUpDown>(); var initialCoefficients = function.Coefficients.Reverse().ToArray(); Controls.Clear(); for (int i = 0; i < initialCoefficients.Length; i++) { var height = 30 + 25 * (i + 1); var paramName = new Label { Text = paramNames[i], Location = new Point(20, height), AutoSize = true }; var param = new ModifiedNumericUpDown(initialCoefficients.Length - 1 - i) { Name = i.ToString(CultureInfo.InvariantCulture), Size = new Size(60, 20), Location = new Point(50, height), Minimum = -9999, Maximum = 9999, Value = initialCoefficients[i] }; Controls.Add(paramName); Controls.Add(param); upDowns.Add(param); } if (ParameterUpDownsChanged != null) { ParameterUpDownsChanged.Invoke(upDowns); } }
public MainForm() { BuildLayout(); Controls.Add(functionsList); Controls.Add(functionView); Controls.Add(parametersView); Controls.Add(actions); InitializeComponent(); functionsList.SelectedFunctionChanged += name => SelectedFunctionChanged.Invoke(name); var resetButton = actions.Controls["Reset"]; resetButton.Click += (sender, args) => ResetButtonClicked.Invoke(functionsList.CurrentSelection()); var saveButton = actions.Controls["Save"]; saveButton.Click += (sender, args) => { var nameGetter = new NameGetterForm(); nameGetter.Controls["okButton"].Click += (o, eventArgs) => { var newName = nameGetter.Controls.OfType <TextBox>().First().Text; SaveButtonClicked.Invoke(functionsList.CurrentSelection(), newName, parametersView.GetCoefficients()); nameGetter.Close(); }; nameGetter.ShowDialog(this); }; var openButton = actions.Controls["Open"]; openButton.Click += (sender, args) => { if (OpenCurrent != null) { OpenCurrent.Invoke(sender, args); } }; parametersView.ParameterUpDownsChanged += downs => { if (ParameterUpDownsChanged != null) { ParameterUpDownsChanged.Invoke(downs); } }; }