How to do two-way binding numericUpDown to a member class

I need twoway binding configClass.RaMsize for numericUpDown.

BindField(this.upDownRamSize, "Value", configClass, "RaMsize");//all right this.upDownRamSize.Value = 1213;// configClass.RaMsize - not change - it bad! 

Method:

 public static void BindField(Control control, string propertyName, object dataSource, string dataMember) { Binding bd; for (int index = control.DataBindings.Count - 1; (index == 0); index--) { bd = control.DataBindings[index]; if (bd.PropertyName == propertyName) control.DataBindings.Remove(bd); } control.DataBindings.Add(propertyName, dataSource, dataMember); } 
+4
source share
1 answer

I assumed that ConfigClass as follows:

 public class ConfigClass { public decimal RaMsize { get; set; } } 

So, change control.DataBindings.Add(propertyName, dataSource, dataMember); in:

 control.DataBindings.Add(propertyName, dataSource, dataMember, false, DataSourceUpdateMode.OnPropertyChanged); 

Test:

 BindField(this.upDownRamSize, "Value", configClass, "RaMsize"); this.upDownRamSize.Value = 1213;// configClass.RaMsize will also have 1213 
+1
source

All Articles