当前位置: 代码迷 >> C# >> label.text与ZigBee传感器的数据绑定解决思路
  详细解决方案

label.text与ZigBee传感器的数据绑定解决思路

热度:54   发布时间:2016-05-05 03:34:00.0
label.text与ZigBee传感器的数据绑定
各位好!我现在在做一个Windows的form界面,现在是这样的,我拖了三个label标签,之后电脑与ZigBee的主控模块串口连接,我想让这三个标签的text文本与传感器传来的数据绑定,分别是温湿度的和光敏的传感器。我找了好久的资料,一直没明白是怎么回事,请给位帮帮忙!
------解决思路----------------------
什么叫绑定??

其实不过是读到串口数据之后给label赋值罢了

不要动不动就绑定什么的,你label.Text根本不可能通过用户操作去修改,也不会用label.Text反向的给串口数据赋值,绑定干啥
------解决思路----------------------
也可以按照观察者模式建模~
------解决思路----------------------
不知道 ZigBee的主控模块 是怎么工作的(你肯定是知道的)
1、假定 ZigBee 数据始终存在,你可设置一个定时器,将 ZigBee 数据赋予 label
2、假定 ZigBee 在数据发生变化时(或收到数据时)会有一个信号产生,那么你可由此信号去触发一个自定义事件。你的程序响应该事件,从 ZigBee 读取数据赋予 label

当然你也可以在 ZigBee 数据发生变化时,由 ZigBee 去向 label 赋值,但不建议这样做
------解决思路----------------------
楼主你要问的实际上是2个问题:
1、怎么从ZigBee主控模块获取到数据。这个问题回答不了,因为对ZigBee完全没有概念,我想楼主你应该比我清楚。
2、怎么把获取到的数据通过Label控件在界面上呈现出来。这是一个简单而又复杂的问题。
想要改变Label的显示内容,至少有2种方式,一是直接赋值,二是数据绑定。
直接赋值很简单,对Text属性赋值即可,参考以下代码:
label1.Text = zigbeeData.Temperature.ToString() + "℃";
一般人都会这么做,但文艺青年可能会更喜欢使用数据绑定方式。
数据绑定方式可以不用直接写上面的Text赋值代码,只要在设计器里设置好绑定关系,然后当Temperature属性值发生变化时,Label的内容会自动改变。
------解决思路----------------------
串口吧..

1`先学习用串口能把模块的数据读取出来

2`如果数据里面有协议,那么请按照规则把你要的数据读取出来...

3`读取出来 直接绑定就行了 label1.text="";
  相关解决方案