我知道这听起来很愚蠢,但我已经尝试了一切来停止计时器,但计时器不会停止.我正在做一个游戏,如果有人能告诉我如何停止计时器,我将不胜感激.
Ars*_*yan 150
如果你正在使用,System.Timers.Timer你可以这样停下来
timer.Enabled = false
Run Code Online (Sandbox Code Playgroud)
如果你正在使用System.Threading.Timer,请使用它
timer.Change(Timeout.Infinite , Timeout.Infinite)
Run Code Online (Sandbox Code Playgroud)
或者使用
timer.Stop();
Run Code Online (Sandbox Code Playgroud)
如果你正在使用 System.Windows.Forms.Timer
dex*_*ter 32
因此,要添加到以前的答案,如果您使用的是System.Threading.Timer类,这将永久停止它,不再有机会使用同一个实例:
timer.Dispose()
Run Code Online (Sandbox Code Playgroud)
除此以外:
timer.Change(Timeout.Infinite, Timeout.Infinite)
Run Code Online (Sandbox Code Playgroud)
Eri*_*fer 21
System.Windows.Forms.Timer:timer.Enabled = false;
System.Threading.Timer:timer.Change(Timeout.Infinite, Timeout.Infinite);
System.Timers.Timer:timer.Enabled = false;或timer.Stop();
对于.NET框架中的每个计时器,计时器可能会在您停止之前触发,因此您在停止后会看到回调.
您需要使用类似异步回调上下文的方法:在您希望计时器运行时使用boolset true,并false在停止时将其设置为.然后让你的回调检查你的上下文,看看它是否真的应该运行.
| 归档时间: |
|
| 查看次数: |
82107 次 |
| 最近记录: |