在 Microsoft® .NET Framework 中定期执行代码是开发中的一项常见任务,但是在 .NET 中使用计时器仍令人困惑。如果您在 .NET Framework 基类库 (BCL) 中查找 Timer 类,那么至少会找到 3 种 Timer 类:System.Threading.Timer、System.Timers.Timer 和 System.Windows.Forms.Timer。每种计时器均有所不同。Alex Calvo 在《MSDN 杂志》中的文章解释了何时使用这些 Timer 类中的每个类(请参见 msdn.microsoft.com/msdnmag/issues/04/02/TimersinNET)。
对于 WPF 应用程序来说,有一种使用 Dispatcher(即 DispatcherTimer 类)的新型计时器。与其他计时器类似,DispatcherTimer 类支持指定滴答之间的间隔,以及在计时器事件触发时要运行的代码。在图 8 中可以看到一种相当常见的 DispatcherTimer 使用方法。
因为 DispatcherTimer 类与 Dispatcher 相关联,因此还可以指定 DispatcherPriority 以及要使用的 Dispatcher。DispatcherTimer 类使用“正常”优先级作为当前 Dispatcher 的默认优先级,但是您可以覆盖这些值:
_timer = new DispatcherTimer( DispatcherPriority.SystemIdle, form1.Dispatcher);
规划工作进程以获得响应更快的应用程序,其中的一切努力都是非常值得的。开展一些初期研究工作可以使规划更成功。
完