日期:2014-05-17  浏览次数:20738 次

窗口上有2个定时器time1,time2, time1会被莫名停止
time1 ,time2 都开启中  ,time2时间到做了一些业务时后time1会被莫名停止

代码中没有time1停止的,但有时好像2个都正常相互不受影响

不知道是什么原因?

------解决方案--------------------
是不是timer1执行的过程里有错误,导致它停止啊?
------解决方案--------------------
WINFORM中的TIME是单线程的。。所以可能是第一个TM的执行时间太长堵住了其他TM的执行
------解决方案--------------------
引用:
WINFORM中的TIME是单线程的。。所以可能是第一个TM的执行时间太长堵住了其他TM的执行

也有可能是time2和time1有业务冲突,导致time1中的代码错误,从而导致线程中断。而线程中的错误,在实际运行中是不弹框的。(除用VS调试的情况下会报错)
------解决方案--------------------
停止一个试一下,看是否是业务冲突,还是其它原因?
------解决方案--------------------
考虑用System.Timers.Timer试试 
------解决方案--------------------
去看微软的说明,提到一条,就是要保持Timer的引用,就是Timer不能是局部变量,你把Timer定义写在方法外面,类变量.
------解决方案--------------------
引用:
这个窗体设置了多语种界面,会不会跟这个有关系 ?

你怎么定义的timer?怎么又跟语言扯上关系
------解决方案--------------------
可以考虑使用 using System.Timers;