很正常,摘自MSDN的解释:
使用Timer控件
Timer控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理,Timer控件也非常有用。
每个Timer控件都有Interval属性,指定定时器事件之间的毫秒数。除非禁止此属性,否则定时器在大致相等的时间间隔不断接受事件(称作定时器事件会更贴切)。
在为Timer控件编程时应考虑对Interval属性的几条限制:
如果应用程序或其它应用程序正在进行对系统要求很高的操作─例如长循环、高强度的计算或者正在访问驱动器、网络或端口─则应用程序定时器事件的间隔可能比Interval属性指定的间隔长。
间隔的取值可在0到64,767之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约64.8秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成18个时钟信号─所以即使用毫秒衡量Interval属性,间隔实际的精确度不会超过18分之一秒。
使用Timer控件
Timer控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理,Timer控件也非常有用。
每个Timer控件都有Interval属性,指定定时器事件之间的毫秒数。除非禁止此属性,否则定时器在大致相等的时间间隔不断接受事件(称作定时器事件会更贴切)。
在为Timer控件编程时应考虑对Interval属性的几条限制:
如果应用程序或其它应用程序正在进行对系统要求很高的操作─例如长循环、高强度的计算或者正在访问驱动器、网络或端口─则应用程序定时器事件的间隔可能比Interval属性指定的间隔长。
间隔的取值可在0到64,767之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约64.8秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成18个时钟信号─所以即使用毫秒衡量Interval属性,间隔实际的精确度不会超过18分之一秒。