C#winform控件和对象双向数据绑定
实现目的:
控件和对象双向数据绑定
实现结果:
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)); } } } }
qq:505645074
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律