对象绑定

Posted on 2009-03-02 21:48  土匪  阅读(478)  评论(1编辑  收藏  举报

闲话少说,还是开门见山吧。

首先,来看看界面

image

窗体中的所有控件都已经绑定我自定义的一个类Order,在实际运行中,修改窗体中任一部分的值,则另外一个相应的控件的值也会修改,这样可以用来观察值是否已经修改。

为了演示不同的控件应该如何绑定对象,这里我定义了Order的几个不同类型的属性

以下是Order的类代码

public class Order
    {
       
public Order(){}
       
public Order(int id,string name,DateTime time,bool isPaid)
        {
            Id
= id;
            Name
= name;
            Time
= time;
            IsPaid
= isPaid;
        }
       
/// <summary>
       
/// 订单的id
       
/// </summary>
        private int id;
       
/// <summary>
       
/// 订单名称
       
/// </summary>
        private string name;
       
/// <summary>
       
/// 下订单时间
       
/// </summary>
        private DateTime time;
       
/// <summary>
       
/// 是否已付款
       
/// </summary>
        private bool isPaid;

       
/// <summary>
       
/// 订单的id
       
/// </summary>
        public int Id
        {
           
get { return id; }
           
set { id = value; }
        }

       
/// <summary>
       
/// 订单名称
       
/// </summary>
        public string Name
        {
           
get { return name; }
           
set { name = value; }
        }

       
/// <summary>
       
/// 下订单时间
       
/// </summary>
        public DateTime Time
        {
           
get { return time; }
           
set { time = value; }
        }

       
/// <summary>
       
/// 是否已付款
       
/// </summary>
        public bool IsPaid
        {
           
get { return isPaid; }
           
set { isPaid = value; }
        }
    }

 

以下为窗体的代码

        private Order order;
       
private void Form1_Load(object sender, EventArgs e)
        {
            order
=new Order(10,"订单1",new DateTime(2009,9,10) ,true);
            BindingData();
        }
       
/// <summary>
       
/// 数据绑定
       
/// </summary>
        private void BindingData()
        {
           
            textBox1.DataBindings.Add(
"Text", order, "Id");
            textBox2.DataBindings.Add(
"Text", order, "Name");
            dateTimePicker1.DataBindings.Add(
"Value", order, "Time");
            checkBox1.DataBindings.Add(
"Checked", order, "IsPaid");

            textBox3.DataBindings.Add(
"Text", order, "Id");
            textBox4.DataBindings.Add(
"Text", order, "Name");
            dateTimePicker2.DataBindings.Add(
"Value", order, "Time");
            checkBox2.DataBindings.Add(
"Checked", order, "IsPaid");
        }

基本的用法就是

Control.DataBindings.Add("控件的属性", 绑定的实体, "实体的属性");