C# 三种计时器的对比
时间: 2023-11-23 08:46:23 浏览: 74
C#各种定时器比较
在C#中,有三种常用的计时器:Timer控件、System.Timers.Timer类和System.Threading.Timer类。
Timer控件是在System.Windows.Forms命名空间下的,直接继承自Component类。它需要绑定Tick事件,并设置Enabled=True后才会自动计时。可以使用Stop()方法停止计时,使用Start()方法重新启动计时器。Timer控件和它所在的Form处于同一个线程。
System.Timers.Timer类是在System.Timers命名空间下的。使用该类时,需要定义一个System.Timers.Timer对象,并绑定Elapsed事件。通过Start()方法启动计时,通过Stop()方法或Enable=false停止计时。可以设置AutoReset属性来决定是否重复计时。Elapsed事件绑定会创建一个新的线程,在该线程中无法访问其他线程中的控件。
System.Threading.Timer类也是一种常用的计时器。在定义该类时,需要通过构造函数进行初始化。它会创建一个新的线程来执行计时逻辑。
总的来说,Timer控件适用于在UI线程中执行计时操作,System.Timers.Timer类和System.Threading.Timer类适用于在独立的线程中执行计时操作。
阅读全文