Winform程序双向绑定

程序比较简单,一看就明白,主要需要实现INotifyPropertyChanged

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test
{
    
    public partial class TestForm : Form
    {
        public TestForm()
        {
            InitializeComponent();
        }
        
        public Student student = new Student();
        private void TestForm_Load(object sender, EventArgs e)
        {
            textBox1.DataBindings.Add("Text", student, "Name", false, DataSourceUpdateMode.OnPropertyChanged);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            student.Name = "zs";

        }

        private void button2_Click(object sender, EventArgs e)
        {
            student.Name = "ls";
        }
        //显示实体对象变量值
        private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show(student.Name);
        }

    }
    public class Student : INotifyPropertyChanged
    {
        string name;

        public Student()
        {
        }
        public Student(string name)
        {
            this.name = name;
        }

        public string Name
        {
            get => name; set
            {
                if (value != this.name)
                {
                    this.name = value;
                    if (PropertyChanged != null)//监听属性值是否改变
                        NotifyPropertyChanged("Name");
                }
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(string columnInfo)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(columnInfo));
            }
        }
    }
}

程序代码下载:QQ 616945527群,博客资源文件夹下

posted @ 2018-02-26 11:48  zhaogaojian  阅读(545)  评论(0编辑  收藏  举报