问题描述
做工业控制,把不同功能做成用户控件。为了体现实时性需要定时对timer刷新,这样随着控制系统的增加timer就越多,能否不同的控件共同使用一个timer.
解决方案
解决方案二:
你是不同用户控件受一个timer的影响是吗?
解决方案三:
“不同的控件共同使用一个timer”这句话什么意思;timer就是个定时触发器,有什么谁用它之说
解决方案四:
同一时间触发的就用同一个timertimer触发时按逻辑调用相应的触发方法
解决方案五:
把外部统一的timer作为自定义控件的初始化参数,然后在自定义控件里绑定这个timer的event就可以了..或者把你的触发公开,用外部的timer刷.不过这个timer貌似并不耗费什么资源.我以前做了单独一个timer刷新的动态效果的小控件,在主界面丢了30+个,看CPU也动静很小.
解决方案六:
可以吧。。。定义标识,每个控件一个标识比如控件1每1秒更新一次,控件n没n秒更新一次定义flag1...flagntimer_ticked(){flag1++;if(flag1==1){...;flag1=0;}flag2++;if(flag2==2){...;flag2=0;}...flagn++;if(flagn==n){...;flagn=0;}}
解决方案七:
放心好了,timer都是公用一个线程的,只要别多的离谱是没问题的
解决方案八:
引用3楼starfd的回复:
同一时间触发的就用同一个timertimer触发时按逻辑调用相应的触发方法
你什么时候成版主了?
解决方案九:
引用7楼diaodiaop的回复:
你什么时候成版主了?
就在你不在的昨天……
解决方案十:
楼上有今年csdn的月饼吃了
解决方案十一:
将若干初始化控件的代码放在同一个定时器触发事件中即可,建议放在子线程中执行,以免卡顿
解决方案十二:
引用8楼starfd的回复:
Quote: 引用7楼diaodiaop的回复:
你什么时候成版主了?就在你不在的昨天……
我就觉得版主非你莫属啊哈哈哈哈,果然我猜中了。
解决方案十三:
如果属性频率一致,可以有用一个控制,同时得考虑是否在时间间隔内是否能把所有代码执行完。