需要用到DataBindings,过程如下:
1.有一个类:
//双向绑定需要继承INotifyPropertyChanged
class student: INotifyPropertyChanged
{
//score属性
private double score;
//编写score属性的get、set方法
public double Score(){
get => score; set { score= value; this.SendChangeInfo("Score");
}
}
2.在类中添加:
#region INotifyPropertyChanged 成员
public event PropertyChangedEventHandler PropertyChanged;
private void SendChangeInfo(string propertyName)
{
if (this.PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
3.将textbox的文本内容与score属性绑定
textbox1.DataBindings.Add("Text", student, "Score");
第一个属性"Text":指的是textbox1的属性,也就是文本内容
第二个属性student:指的是student类
第三个属性Score:指的是student类的Score属性的获取get、set方法的函数名
这样就实现了双向绑定,当student的score属性改变时,textbox的值也会变为相应的值。