如果是只执行一次的话是说明没有设置aTimer.AutoReset = true;
如果是时间间隔不准确的话是正常的,timer不是一个精准定时器;
以下来自msdn:
当编写 Timer 组件时,需要考虑 Interval 属性的几点限制:
如果应用程序或另一个应用程序对系统需求很大(如长循环、大量的计算或驱动程序、网络或端口访问),那么应用程序可能无法以 Interval 属性指定的频率来获取计时器事件。
间隔可以在 1 和 64,767 之间(包括 1 和 64,767),这意味着即使最长的间隔(大约 64.8 秒)也不会超过一分钟很多。
不能保证间隔所精确经过的时间。若要确保精确,计时器应根据需要检查系统时钟,而不是尝试在内部跟踪所积累的时间。
系统每秒生成 18 个时钟刻度,因此即使 Interval 属性以毫秒为单位,间隔的实际精度也不会超过十八分之一秒。
希望对你有所帮助。
Timer不是那么准一定按间隔时间执行的,如果服务太忙,它就会被延迟
每次都是不同的timer控件不执行麽?
断点看看执行了没。。
这么说很难解决,要么把全部代码贴上来看,最简单的方法是你自己debug一下,走到哪步不执行你自己看下就明白了