Csharp/C#教程:DispatcherTimer的’IsEnabled’和’Start / Stop’有什么不同?分享


DispatcherTimer的’IsEnabled’和’Start / Stop’有什么不同?

我认为IsEnabled = false / true与System.Windows.Threading.DispatcherTimer类的Stop / Start方法完全相同我是对的吗?

[编辑]开始():以完整间隔倒计时开始计时器。 IsEnabled = false:暂停计时器,间隔倒计时仍然存在。 IsEnabled = true:恢复计时器并继续使用上次使用的间隔倒计时。 停止():停止计时器,间隔倒计时会重置吗?

考虑到Start/Stop切换IsEnabled属性,您的假设很接近。

Start/StopInterval重置而不同,因为切换IsEnabled不会重置Interval

来自MSDN :

启动计时器时将IsEnabled设置为false会停止计时器。

当计时器停止时将IsEnabled设置为true将启动计时器。

开始将IsEnabled设置为true。

开始重置计时器间隔。

编辑:重置间隔的意思不是Interval属性本身,而是确定触发下一个tick事件的时间长度的背景间隔。

例如。 如果你有一个1000毫秒的间隔,你停止/禁用它,如果运行250毫秒(它运行750毫秒),这是结果取决于你如何再次启动它。

我希望这能为你澄清一下。

DispatcherTimer.IsEnabled的实现

上述就是C#学习教程:DispatcherTimer的’IsEnabled’和’Start / Stop’有什么不同?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  public bool IsEnabled { get { return _isEnabled; } set { lock (_instanceLock) { if (!value && _isEnabled) { Stop(); } else { if (!value || _isEnabled) return; Start(); } } } } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/959334.html

(0)
上一篇 2021年11月23日
下一篇 2021年11月23日

精彩推荐