C# winform控件和对象双向数据绑定
protected virtual void OnPropertyChanged(string propertyName)//属性变更通知。MessageBox.Show($"对象信息,Name={people.Name},Age={people.Age}");people.Name = "对象";1. 对象值 -> 控件值。2. 控件值 -> 对象值。控件和对象双向数据绑定。
·
实现目的:
控件和对象双向数据绑定
实现结果:
1. 对象值 -> 控件值
2. 控件值 -> 对象值



![]()
using System;
using System.Windows.Forms;
namespace ControlDataBind
{
public partial class MainForm : Form
{
People people = new People();
public MainForm()
{
InitializeComponent();
}
private void btnBind_Click(object sender, EventArgs e)
{
people.Name = "对象";
people.Age = 3;
txtName.DataBindings.Add("Text", people, "Name");
txtAge.DataBindings.Add("Text", people, "Age");
}
private void btnGetData_Click(object sender, EventArgs e)
{
MessageBox.Show($"对象信息,Name={people.Name},Age={people.Age}");
}
private void btnSetData_Click(object sender, EventArgs e)
{
people.Name = "111";
}
}
}
![]()
![]()
using System.ComponentModel;
namespace ControlDataBind
{
public class People : INotifyPropertyChanged
{
string _name;
int _age;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
public int Age
{
get { return _age; }
set
{
_age = value;
OnPropertyChanged(nameof(Age));
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) //属性变更通知
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
![]()
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)