Changeset 16862


Ignore:
Timestamp:
04/23/19 10:21:59 (4 months ago)
Author:
chaider
Message:

#2971 Changed some views

Location:
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj

    r16830 r16862  
    618618      <DependentUpon>AbstractFeatureCorrelationView.cs</DependentUpon>
    619619    </EmbeddedResource>
     620    <EmbeddedResource Include="IntervalConstraintView.resx">
     621      <DependentUpon>IntervalConstraintView.cs</DependentUpon>
     622    </EmbeddedResource>
    620623  </ItemGroup>
    621624  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalConstraintView.Designer.cs

    r16830 r16862  
    5050      this.incllowerboundLabel = new System.Windows.Forms.Label();
    5151      this.inclupperboundLabel = new System.Windows.Forms.Label();
    52       this.isderivationLabel = new System.Windows.Forms.Label();
    5352      this.variableLabel = new System.Windows.Forms.Label();
    5453      this.numberderivationLabel = new System.Windows.Forms.Label();
     
    5857      this.variableInput = new System.Windows.Forms.TextBox();
    5958      this.groupBox1 = new System.Windows.Forms.GroupBox();
     59      this.label1 = new System.Windows.Forms.Label();
    6060      this.numberderivationInput = new System.Windows.Forms.ComboBox();
    6161      this.ischeckedCheckBox = new System.Windows.Forms.CheckBox();
     
    6464      this.inclupperboundInput = new System.Windows.Forms.CheckBox();
    6565      this.incllowerboundInput = new System.Windows.Forms.CheckBox();
    66       this.derivationInput = new System.Windows.Forms.CheckBox();
    6766      this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
    6867      this.groupBox1.SuspendLayout();
     
    7372      //
    7473      this.definitionLabel.AutoSize = true;
    75       this.definitionLabel.Location = new System.Drawing.Point(11, 45);
     74      this.definitionLabel.Location = new System.Drawing.Point(11, 72);
    7675      this.definitionLabel.Name = "definitionLabel";
    7776      this.definitionLabel.Size = new System.Drawing.Size(54, 13);
     
    8281      //
    8382      this.lowerboundLabel.AutoSize = true;
    84       this.lowerboundLabel.Location = new System.Drawing.Point(11, 71);
     83      this.lowerboundLabel.Location = new System.Drawing.Point(11, 98);
    8584      this.lowerboundLabel.Name = "lowerboundLabel";
    8685      this.lowerboundLabel.Size = new System.Drawing.Size(69, 13);
     
    9190      //
    9291      this.upperboundLabel.AutoSize = true;
    93       this.upperboundLabel.Location = new System.Drawing.Point(11, 96);
     92      this.upperboundLabel.Location = new System.Drawing.Point(11, 123);
    9493      this.upperboundLabel.Name = "upperboundLabel";
    9594      this.upperboundLabel.Size = new System.Drawing.Size(69, 13);
     
    10099      //
    101100      this.incllowerboundLabel.AutoSize = true;
    102       this.incllowerboundLabel.Location = new System.Drawing.Point(11, 122);
     101      this.incllowerboundLabel.Location = new System.Drawing.Point(11, 149);
    103102      this.incllowerboundLabel.Name = "incllowerboundLabel";
    104103      this.incllowerboundLabel.Size = new System.Drawing.Size(92, 13);
     
    109108      //
    110109      this.inclupperboundLabel.AutoSize = true;
    111       this.inclupperboundLabel.Location = new System.Drawing.Point(11, 147);
     110      this.inclupperboundLabel.Location = new System.Drawing.Point(11, 174);
    112111      this.inclupperboundLabel.Name = "inclupperboundLabel";
    113112      this.inclupperboundLabel.Size = new System.Drawing.Size(92, 13);
     
    115114      this.inclupperboundLabel.Text = "Incl. Upperbound:";
    116115      //
    117       // isderivationLabel
    118       //
    119       this.isderivationLabel.AutoSize = true;
    120       this.isderivationLabel.Location = new System.Drawing.Point(11, 173);
    121       this.isderivationLabel.Name = "isderivationLabel";
    122       this.isderivationLabel.Size = new System.Drawing.Size(58, 13);
    123       this.isderivationLabel.TabIndex = 6;
    124       this.isderivationLabel.Text = "Derivation:";
    125       //
    126116      // variableLabel
    127117      //
    128118      this.variableLabel.AutoSize = true;
    129       this.variableLabel.Location = new System.Drawing.Point(11, 198);
     119      this.variableLabel.Location = new System.Drawing.Point(11, 199);
    130120      this.variableLabel.Name = "variableLabel";
    131121      this.variableLabel.Size = new System.Drawing.Size(48, 13);
     
    136126      //
    137127      this.numberderivationLabel.AutoSize = true;
    138       this.numberderivationLabel.Location = new System.Drawing.Point(11, 224);
     128      this.numberderivationLabel.Location = new System.Drawing.Point(11, 225);
    139129      this.numberderivationLabel.Name = "numberderivationLabel";
    140130      this.numberderivationLabel.Size = new System.Drawing.Size(65, 13);
     
    146136      this.definitionInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    147137            | System.Windows.Forms.AnchorStyles.Right)));
    148       this.definitionInput.Location = new System.Drawing.Point(111, 42);
     138      this.definitionInput.Location = new System.Drawing.Point(111, 69);
    149139      this.definitionInput.Name = "definitionInput";
    150140      this.definitionInput.Size = new System.Drawing.Size(473, 20);
     
    155145      this.upperboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    156146            | System.Windows.Forms.AnchorStyles.Right)));
    157       this.upperboundInput.Location = new System.Drawing.Point(111, 93);
     147      this.upperboundInput.Location = new System.Drawing.Point(111, 120);
    158148      this.upperboundInput.Name = "upperboundInput";
    159149      this.upperboundInput.Size = new System.Drawing.Size(473, 20);
     
    166156      this.lowerboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    167157            | System.Windows.Forms.AnchorStyles.Right)));
    168       this.lowerboundInput.Location = new System.Drawing.Point(111, 68);
     158      this.lowerboundInput.Location = new System.Drawing.Point(111, 95);
    169159      this.lowerboundInput.Name = "lowerboundInput";
    170160      this.lowerboundInput.Size = new System.Drawing.Size(473, 20);
     
    177167      this.variableInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    178168            | System.Windows.Forms.AnchorStyles.Right)));
    179       this.variableInput.Location = new System.Drawing.Point(111, 195);
     169      this.variableInput.Location = new System.Drawing.Point(111, 196);
    180170      this.variableInput.Name = "variableInput";
    181171      this.variableInput.Size = new System.Drawing.Size(473, 20);
     
    184174      // groupBox1
    185175      //
     176      this.groupBox1.Controls.Add(this.label1);
    186177      this.groupBox1.Controls.Add(this.numberderivationInput);
    187178      this.groupBox1.Controls.Add(this.ischeckedCheckBox);
     
    190181      this.groupBox1.Controls.Add(this.inclupperboundInput);
    191182      this.groupBox1.Controls.Add(this.incllowerboundInput);
    192       this.groupBox1.Controls.Add(this.derivationInput);
    193183      this.groupBox1.Controls.Add(this.variableInput);
    194184      this.groupBox1.Controls.Add(this.lowerboundInput);
     
    197187      this.groupBox1.Controls.Add(this.numberderivationLabel);
    198188      this.groupBox1.Controls.Add(this.variableLabel);
    199       this.groupBox1.Controls.Add(this.isderivationLabel);
    200189      this.groupBox1.Controls.Add(this.inclupperboundLabel);
    201190      this.groupBox1.Controls.Add(this.incllowerboundLabel);
     
    211200      this.groupBox1.Text = "Interval Constraints Detail";
    212201      //
     202      // label1
     203      //
     204      this.label1.AutoSize = true;
     205      this.label1.Location = new System.Drawing.Point(11, 22);
     206      this.label1.Name = "label1";
     207      this.label1.Size = new System.Drawing.Size(49, 13);
     208      this.label1.TabIndex = 28;
     209      this.label1.Text = "Enabled:";
     210      //
    213211      // numberderivationInput
    214212      //
     
    216214            | System.Windows.Forms.AnchorStyles.Right)));
    217215      this.numberderivationInput.FormattingEnabled = true;
    218       this.numberderivationInput.Location = new System.Drawing.Point(111, 224);
     216      this.numberderivationInput.Location = new System.Drawing.Point(111, 225);
    219217      this.numberderivationInput.Name = "numberderivationInput";
    220218      this.numberderivationInput.Size = new System.Drawing.Size(470, 21);
     
    225223      //
    226224      this.ischeckedCheckBox.AutoSize = true;
    227       this.ischeckedCheckBox.Location = new System.Drawing.Point(14, 257);
     225      this.ischeckedCheckBox.Location = new System.Drawing.Point(111, 21);
    228226      this.ischeckedCheckBox.Name = "ischeckedCheckBox";
    229       this.ischeckedCheckBox.Size = new System.Drawing.Size(65, 17);
     227      this.ischeckedCheckBox.Size = new System.Drawing.Size(15, 14);
    230228      this.ischeckedCheckBox.TabIndex = 26;
    231       this.ischeckedCheckBox.Text = "Enabled";
    232229      this.ischeckedCheckBox.UseVisualStyleBackColor = true;
    233230      this.ischeckedCheckBox.CheckedChanged += new System.EventHandler(this.ischeckedCheckBox_CheckedChanged);
     
    237234      this.expressionInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    238235            | System.Windows.Forms.AnchorStyles.Right)));
    239       this.expressionInput.Location = new System.Drawing.Point(111, 17);
     236      this.expressionInput.Location = new System.Drawing.Point(111, 44);
    240237      this.expressionInput.Name = "expressionInput";
    241238      this.expressionInput.Size = new System.Drawing.Size(473, 20);
     
    245242      //
    246243      this.expressionLabel.AutoSize = true;
    247       this.expressionLabel.Location = new System.Drawing.Point(11, 20);
     244      this.expressionLabel.Location = new System.Drawing.Point(11, 47);
    248245      this.expressionLabel.Name = "expressionLabel";
    249246      this.expressionLabel.Size = new System.Drawing.Size(61, 13);
     
    254251      //
    255252      this.inclupperboundInput.AutoSize = true;
    256       this.inclupperboundInput.Location = new System.Drawing.Point(111, 146);
     253      this.inclupperboundInput.Location = new System.Drawing.Point(111, 173);
    257254      this.inclupperboundInput.Name = "inclupperboundInput";
    258255      this.inclupperboundInput.Size = new System.Drawing.Size(15, 14);
     
    264261      //
    265262      this.incllowerboundInput.AutoSize = true;
    266       this.incllowerboundInput.Location = new System.Drawing.Point(111, 122);
     263      this.incllowerboundInput.Location = new System.Drawing.Point(111, 149);
    267264      this.incllowerboundInput.Name = "incllowerboundInput";
    268265      this.incllowerboundInput.Size = new System.Drawing.Size(15, 14);
     
    270267      this.incllowerboundInput.UseVisualStyleBackColor = true;
    271268      this.incllowerboundInput.CheckedChanged += new System.EventHandler(this.incllowerboundInput_CheckedChanged);
    272       //
    273       // derivationInput
    274       //
    275       this.derivationInput.AutoSize = true;
    276       this.derivationInput.Location = new System.Drawing.Point(111, 173);
    277       this.derivationInput.Name = "derivationInput";
    278       this.derivationInput.Size = new System.Drawing.Size(15, 14);
    279       this.derivationInput.TabIndex = 21;
    280       this.derivationInput.UseVisualStyleBackColor = true;
    281269      //
    282270      // errorProvider
     
    304292    private System.Windows.Forms.Label incllowerboundLabel;
    305293    private System.Windows.Forms.Label inclupperboundLabel;
    306     private System.Windows.Forms.Label isderivationLabel;
    307294    private System.Windows.Forms.Label variableLabel;
    308295    private System.Windows.Forms.Label numberderivationLabel;
     
    312299    private System.Windows.Forms.TextBox variableInput;
    313300    private System.Windows.Forms.GroupBox groupBox1;
    314     private System.Windows.Forms.CheckBox derivationInput;
    315301    private System.Windows.Forms.CheckBox inclupperboundInput;
    316302    private System.Windows.Forms.CheckBox incllowerboundInput;
     
    320306    private System.Windows.Forms.CheckBox ischeckedCheckBox;
    321307    private System.Windows.Forms.ComboBox numberderivationInput;
     308    private System.Windows.Forms.Label label1;
    322309  }
    323310}
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalConstraintView.cs

    r16830 r16862  
    2929  [View("Interval Constraint Detail View")]
    3030  [Content(typeof(IntervalConstraint), true)]
    31   public partial class IntervalConstraintView : ItemView {
     31  public sealed partial class IntervalConstraintView : ItemView {
    3232
    3333    public new IntervalConstraint Content {
     
    4141      expressionInput.ReadOnly = true;
    4242      definitionInput.ReadOnly = true;
    43       derivationInput.Enabled = false;
    44       derivationInput.Checked = false;
    4543      numberderivationInput.DataSource = items;
    4644    }
     
    5755
    5856    protected override void DeregisterContentEvents() {
     57      Content.Changed -= new EventHandler(Content_Changed);
    5958      base.DeregisterContentEvents();
    60       Content.Changed -= new EventHandler(Content_Changed);
    6159    }
    6260
    6361    protected override void SetEnabledStateOfControls() {
    6462      base.SetEnabledStateOfControls();
    65       lowerboundInput.Enabled = Content != null && !Locked;
     63      lowerboundInput.Enabled = Content != null && !Locked && !ReadOnly;
     64      upperboundInput.Enabled = Content != null && !Locked && !ReadOnly;
     65      expressionInput.Enabled = Content != null && !Locked && !ReadOnly;
     66      definitionInput.Enabled = Content != null && !Locked && !ReadOnly;
     67      definitionInput.ReadOnly = true;
     68      expressionInput.ReadOnly = true;
    6669    }
    6770
     
    7073    #region helpers
    7174
    72     private double ParseDoubleValue(string input, Control control) {
     75    private static double ParseDoubleValue(string input, Control control, ErrorProvider errorProvider) {
    7376      input = input.ToLower();
    7477      switch (input) {
     
    8184          return double.NegativeInfinity;
    8285        default: {
    83           if (double.TryParse(input, NumberStyles.Any, CultureInfo.InvariantCulture, out var value))
     86          if (double.TryParse(input, out var value))
    8487            return value;
    8588          else {
     
    98101        incllowerboundInput.Checked = true;
    99102        inclupperboundInput.Checked = true;
     103        return;
     104      }
     105
     106      expressionInput.Text = Content.Expression;
     107      definitionInput.Text = Content.Definition;
     108      lowerboundInput.Text = Content.Interval.LowerBound.ToString();
     109      upperboundInput.Text = Content.Interval.UpperBound.ToString();
     110      incllowerboundInput.Checked = Content.InclusiveLowerBound;
     111      inclupperboundInput.Checked = Content.InclusiveUpperBound;
     112      variableInput.Text = Content.Variable;
     113      if (!Content.IsDerivation) {
     114        numberderivationInput.Visible = false;
     115        numberderivationLabel.Visible = false;
    100116      } else {
    101         expressionInput.Text = Content.Expression;
    102         definitionInput.Text = Content.Definition;
    103         lowerboundInput.Text = Content.Interval.LowerBound.ToString(CultureInfo.InvariantCulture);
    104         upperboundInput.Text = Content.Interval.UpperBound.ToString(CultureInfo.InvariantCulture);
    105         incllowerboundInput.Checked = Content.InclusiveLowerBound;
    106         inclupperboundInput.Checked = Content.InclusiveUpperBound;
    107         derivationInput.Checked = Content.IsDerivation;
    108         variableInput.Text = Content.Variable;
    109         if (!Content.IsDerivation) {
    110           numberderivationInput.Enabled = false;
    111         } else {
    112           numberderivationInput.Enabled = true;
    113           numberderivationInput.SelectedItem = Content.NumberOfDerivation;
    114         }
    115 
    116         ischeckedCheckBox.Checked = Content.Enabled;
    117       }
    118       SetEnabledStateOfControls();
     117        numberderivationLabel.Visible = true;
     118        numberderivationInput.Visible = true;
     119        numberderivationInput.Enabled = true;
     120        numberderivationInput.SelectedItem = Content.NumberOfDerivation;
     121      }
     122
     123      ischeckedCheckBox.Checked = Content.Enabled;
    119124    }
    120125
     
    136141          constraint.Interval.UpperBound,
    137142          (constraint.InclusiveUpperBound) ? "]" : "[",
    138           PrintNumberOfDerivation(constraint.numberOfDerivation),
    139           PrintNumberOfDerivation(constraint.numberOfDerivation));
     143          GetDerivationString(constraint.numberOfDerivation),
     144          GetDerivationString(constraint.numberOfDerivation));
    140145      }
    141146
     
    143148    }
    144149
    145     private static string PrintNumberOfDerivation(int derivation) {
     150    private static string GetDerivationString(int derivation) {
    146151      switch (derivation) {
    147152        case 1:
     
    160165    #region control event handlers
    161166    private void lowerboundInput_Validating(object sender, CancelEventArgs e) {
    162       var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput);
     167      var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, this.errorProvider);
    163168      if (double.IsNaN(value)) {
    164169        errorProvider.SetError(lowerboundInput, "Invalid Input: Lowerbound must be a double value!");
     
    178183
    179184    private void lowerboundInput_Validated(object sender, EventArgs e) {
    180       var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput);
     185      var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, this.errorProvider);
    181186      if (!double.IsNaN(value)) {
    182187        Content.Interval = new Interval(value, Content.Interval.UpperBound);
     
    188193
    189194    private void upperboundInput_Validating(object sender, CancelEventArgs e) {
    190       var value = ParseDoubleValue(upperboundInput.Text, upperboundInput);
     195      var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, this.errorProvider);
    191196      if (double.IsNaN(value)) {
    192197        errorProvider.SetError(upperboundInput, "Invalid Input: Upperbound must be a double value!");
     
    206211
    207212    private void upperboundInput_Validated(object sender, EventArgs e) {
    208       var value = ParseDoubleValue(upperboundInput.Text, upperboundInput);
     213      var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, this.errorProvider);
    209214      if (!double.IsNaN(value)) {
    210215        Content.Interval = new Interval(Content.Interval.LowerBound, value);
     
    216221
    217222    private void incllowerboundInput_CheckedChanged(object sender, EventArgs e) {
    218       if (Content.InclusiveLowerBound != incllowerboundInput.Checked) {
    219223        Content.InclusiveLowerBound = incllowerboundInput.Checked;
    220224        var exp = UpdateExpression(Content);
    221225        Content.Name = exp;
    222226        Content.Expression = exp;
    223       }
    224      
    225      
    226227    }
    227228
    228229    private void inclupperboundInput_CheckedChanged(object sender, EventArgs e) {
    229       if (Content.InclusiveUpperBound != inclupperboundInput.Checked) {
    230230        Content.InclusiveUpperBound = inclupperboundInput.Checked;
    231231        var exp = UpdateExpression(Content);
    232232        Content.Name = exp;
    233233        Content.Expression = exp;
    234       }
    235234    }
    236235
    237236    private void ischeckedCheckBox_CheckedChanged(object sender, EventArgs e) {
    238       if (Content.Enabled != ischeckedCheckBox.Checked) {
    239237        Content.Enabled = ischeckedCheckBox.Checked;
    240         //UpdateControls();
    241       }
    242238    }
    243239
     
    262258      UpdateControls();
    263259    }
    264 
    265 
    266260    #endregion
    267 
    268261  }
    269262}
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ParsedConstraintView.cs

    r16830 r16862  
    4141      intervalConstraints = new CheckedItemList<IntervalConstraint>();
    4242      intervalConstraints.CheckedItemsChanged += constraint_CheckedItemChanged;
     43      //intervalConstraints.ItemsRemoved
    4344    }
    4445
     
    4748      UpdateControl();
    4849    }
    49 
     50    //ParameterCollectionView
     51    //Remove method directly at parsebutton event
    5052    private IEnumerable<IntervalConstraint> ParseConstraints(string input) {
    5153      return IntervalConstraintsParser.ParseInput(input, Content.ProblemData.TargetVariable,
     
    8486        constraintsOutput.Content = intervalConstraints.AsReadOnly();
    8587      }
    86       SetEnabledStateOfControls();
    8788    }
    8889
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/NamedIntervalsView.Designer.cs

    r16844 r16862  
    6161      this.dataGridView.TabIndex = 0;
    6262      this.dataGridView.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellEndEdit);
    63       this.dataGridView.CellValidated += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellValidated);
    6463      this.dataGridView.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.dataGridView_CellValidating);
    6564      this.dataGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellValueChanged);
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/NamedIntervalsView.cs

    r16844 r16862  
    3030  [View("NamedIntervals View")]
    3131  [Content(typeof(NamedIntervals), true)]
    32   public partial class NamedIntervalsView : AsynchronousContentView {
     32  public sealed partial class NamedIntervalsView : AsynchronousContentView {
    3333
    3434    public new NamedIntervals Content {
     
    6363    }
    6464
    65     protected void UpdateData() {
     65    private void UpdateData() {
    6666      DataGridView.Rows.Clear();
    6767      DataGridView.Columns.Clear();
     
    8484      dataGridView.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders);
    8585      dataGridView.Enabled = true;
    86 
     86      //Disable Sorting
     87      foreach (DataGridViewColumn column in dataGridView.Columns) {
     88        column.SortMode = DataGridViewColumnSortMode.NotSortable;
     89      }
    8790    }
    8891
    89     protected void FillRows() {
     92    private void FillRows() {
    9093      for (var i = 0; i < dataGridView.RowCount; ++i) {
    9194        var key = (string)dataGridView.Rows[i].HeaderCell.Value;
     
    9598    }
    9699
    97     protected void SetRowsHeader() {
     100    private void SetRowsHeader() {
    98101      for (var i = 0; i < Content.VariableIntervals.Count; ++i) {
    99102        var item = Content.VariableIntervals.ElementAt(i);
     
    102105    }
    103106
    104     protected void SetColumnNames() {
     107    private void SetColumnNames() {
    105108      dataGridView.Columns.Add("lowerBound", "Lower Bound");
    106109      dataGridView.Columns.Add("upperBound", "Upper Bound");
     
    149152      dataGridView.Rows[e.RowIndex].ErrorText = string.Empty;
    150153    }
    151 
    152     private void dataGridView_CellValidated(object sender, DataGridViewCellEventArgs e) {
    153       var col = e.ColumnIndex;
    154       var row = e.RowIndex;
    155       if (double.TryParse(dataGridView.Rows[row].Cells[col].Value.ToString(), out var value))
    156         dataGridView.Rows[row].Cells[col].Value = value;
    157     }
    158154  }
    159155}
Note: See TracChangeset for help on using the changeset viewer.