首页 新闻 赞助 找找看

Windows Form 中数据绑定的问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2009-02-09 10:29

我的程序中有一个类

public class CustomizedObject
{
    public string MyProperty{ get; set; }
}

和一个它的一个实例

private CustomizedObject myObject = new CustomizedObject{ MyProperty="Hello World" };

可不可以将myObject.MyPropery关联到一个Label的Text属性,例如窗体中的label1.Text

当myObject.MyPropery的值改变后,label1.Text也随之改变?

如果MyProperty是object类型呢?

问题补充: 2,3楼的答案有一定道理,但这样的话CustomizedObject对label的依赖太强,通用性不够好。 用label.DataBindings.Add("Text",myObject,"MyProperty");正是我最初的目标,但单单这样根本无法在MyProperty的值改变后改变label.Text 我已经找到解决办法了,既为CustomizedObject实现INotifyPropertyChanged接口,然后用label.DataBindings.Add("Text",myObject,"MyProperty");即可。
John Smith的主页 John Smith | 初学一级 | 园豆:158
提问于:2009-02-04 22:19
< >
分享
所有回答(4)
0

用属性即可

public class CustomizedObject
{
    public string MyProperty{ 

  set{

  //...

  lable1.Text = value;

  //...

}

 }
}

麒麟.NET | 园豆:3614 (老鸟四级) | 2009-02-04 23:37
0

如果是object 类型,可以写成

 

public object MyProperty{ 

  set{

  //...

  if (value != null)

    {

    lable1.Text = value.ToString();

   }

  //...

}

eaglet | 园豆:17139 (专家六级) | 2009-02-05 06:51
0
shangb | 园豆:185 (初学一级) | 2009-02-05 10:02
0

label.DataBindings.Add("Text",myObject,"MyProperty");

薛.net | 园豆:205 (菜鸟二级) | 2009-02-05 10:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册