闲话少说,还是开门见山吧。
首先,来看看界面
窗体中的所有控件都已经绑定我自定义的一个类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; }
}
}
{
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");
}
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("控件的属性", 绑定的实体, "实体的属性");