.NET中三个Timer的用处!

来源:百度知道 编辑:UC知道 时间:2024/06/19 07:03:50
一个是System.Timers下的Timer,一个是System.Windows.Forms下的Timer,还有一个是System.WIndows.Threading下的DispatcherTimer,这三个Timer具体杂的使啊?我在Winforms程序中让一个lable来即时显示时间,后两个Timer能使,而第一个Timer为什么不能使啊????

其实这没什么好说的,翻开MSDN看就行了。

System.Windows.Forms:实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。
Windows 窗体 Timer 组件是单线程组件,精度限定为 55 毫秒。如果您需要更高精度的多线程计时器,请使用 System.Timers 命名空间中的 Timer 类。

System.Threading.Timer 是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。不建议将其用于 Windows 窗体,因为其回调不在用户界面线程上进行。System.Windows.Forms.Timer 是用于 Windows 窗体的更佳选择。要获取基于服务器的计时器功能,可以考虑使用 System.Timers.Timer,它可以引发事件并具有其他功能。

System.Timers:Timer 组件是基于服务器的计时器,它使您能够指定在应用程序中引发 Elapsed 事件的周期性间隔。然后可以操控此事件以提供定期处理。在应用程序中生成定期事件。基于服务器的 Timer 是为在多线程环境中用于辅助线程而设计的。服务器计时器可以在线程间移动来处理引发的 Elapsed 事件,这样就可以比 Windows 计时器更精确地按时引发事件。