如何对控件和对象进行数据绑定并在数据通过时对其进行修改?
How can I databind a control and object and modify the data as it passes through?
例如:
- 我有一个名为
milliseconds
的 TextBox
- 我的 class 有一个名为
myobject
的自定义对象,变量 public int ms { get; set; }
- 所以
myobject.ms
是我想在输入时更改的
但是,变量milliseconds.Text
是一个字符串,而myobject
中的变量是一个int
所以当我尝试像这样添加数据绑定时:
milliseconds.DataBindings.Add("Text", myobject, "ms");
它产生一个 System.ArgumentException
(我多次 运行 代码)
有没有办法在中途将 milliseconds.Text
数据绑定更改为 an into? (由于string和int不一致)
您可以将对象的 属性 绑定到 TextBox
的 Text
属性:
YourTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text",
yourObjectInstance, "PropertyOfYourObject", true,
System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
数据到目标类型的转换将使用数据绑定完成,不需要任何手动类型转换。
例如:
- 我有一个名为
milliseconds
的 - 我的 class 有一个名为
myobject
的自定义对象,变量public int ms { get; set; }
- 所以
myobject.ms
是我想在输入时更改的
TextBox
但是,变量milliseconds.Text
是一个字符串,而myobject
中的变量是一个int
所以当我尝试像这样添加数据绑定时:
milliseconds.DataBindings.Add("Text", myobject, "ms");
它产生一个 System.ArgumentException
(我多次 运行 代码)
有没有办法在中途将 milliseconds.Text
数据绑定更改为 an into? (由于string和int不一致)
您可以将对象的 属性 绑定到 TextBox
的 Text
属性:
YourTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text",
yourObjectInstance, "PropertyOfYourObject", true,
System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
数据到目标类型的转换将使用数据绑定完成,不需要任何手动类型转换。