有个关于自定义类和控件数据绑定的问题,请大家帮忙!!!!!!

windsandy 2006-08-24 09:30:00
我有一个自定义的设备类,其中有一些有关设备的属性比如 电压、时间、电源状态,还有一些数据获取的方法,在窗体的label控件中 我要显示这些属性的内容,我要怎么做,才能使 label控件和我这个类中的某一个属性进行数据绑定,当类中的属性值改变后,控件中显示值也跟着改变?

...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
windsandy 2006-08-25
  • 打赏
  • 举报
回复
谢谢大家,问题暂时用,传递窗体的方法解决的,虽然方法不理想 但是至少解决了问题,给分了
windsandy 2006-08-24
  • 打赏
  • 举报
回复
idda(碗掉了,头大个疤)

这样不行啊,因为我有n个属性,而每个属性对应一个label ,这里只传递了一个label进去,解决不了问题,而要是把所有的label都当作参数传进取的话,那不但代码写起来比较蠢,而又不能有变化,比如 我一共10个属性,现在我只想用8个label显示其中的8个属性,这样就不行了
idda 2006-08-24
  • 打赏
  • 举报
回复
public class Equipment
{
private Label _label;
private Equipment()
{
}
public Equipment(Label label)
{
_lable = lable;
}
//电池正电压警告上限
private decimal _batteryPositiveLowerLimit;
public decimal BatteryPositiveLowerLimit
{
get {
return _batteryPositiveLowerLimit;
}
set {
_batteryPositiveLowerLimit= value;
_lable.Text = batteryPositiveUpperLimit.ToString();
}
}


}


//显示窗体
public partial class frmEMAndC : Form
{
private Equipment mEquipment = new Equipment(yourLable);
private void HistoryData_Click(object sender, EventArgs e)
{
mEquipment.BatteryPositiveLowerLimit=100; //我想在这里改变属性值的时候作为显示工具的label.text得值也跟着改变
}
}
xray2005 2006-08-24
  • 打赏
  • 举报
回复
学习ing 。。。。。。。。。。。

貌似用label.Text=classname.attributename
windsandy 2006-08-24
  • 打赏
  • 举报
回复
是的 我就是想达到这种效果,但是应该怎么做?

例如
public class Equipment
{

//电池正电压警告上限
private decimal batteryPositiveUpperLimit;
public decimal BatteryPositiveUpperLimit
{
get { return batteryPositiveUpperLimit; }
set { batteryPositiveUpperLimit = value; }
}

//电池正电压警告下限
private decimal batteryPositiveLowerLimit;
public decimal BatteryPositiveLowerLimit
{
get { return batteryPositiveLowerLimit; }
set { batteryPositiveLowerLimit = value; }
}
}

//显示窗体
public partial class frmEMAndC : Form
{
private Equipment mEquipment = new Equipment();
private void HistoryData_Click(object sender, EventArgs e)
{
mEquipment.BatteryPositiveLowerLimit=100; //我想在这里改变属性值的时候作为显示工具的label.text得值也跟着改变
}
}

想要达到这种效果 我该怎样继承label,在设备类中应该写什么方法
windsandy 2006-08-24
  • 打赏
  • 举报
回复
是的 我就是想达到这种效果,但是应该怎么做?

例如
public class Equipment
{

//电池正电压警告上限
private decimal batteryPositiveUpperLimit;
public decimal BatteryPositiveUpperLimit
{
get { return batteryPositiveUpperLimit; }
set { batteryPositiveUpperLimit = value; }
}
}
cctaiyang 2006-08-24
  • 打赏
  • 举报
回复
直接class1.p1就可以赋值给label啊
idda 2006-08-24
  • 打赏
  • 举报
回复
晕啊,你可以用个ArrayList之类的嘛.

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧