C# · 12月 28, 2021

在C#winform应用程序中如何在休眠/睡眠模式下停止定时器?

我有一个应用程序在一段时间后执行一个特定的任务(由定时器控制).但是,每当我启动PC后,应用程序运行hibernate.这意味着定时器在休眠期间持续运行至少一个刻度.我如何避免这种情况.解决方法 您可以处理SystemEvents.PowerModeChanged事件以在机器挂起时停止定时器,并在恢复时重新启动它. SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

void SystemEvents_PowerModeChanged(object sender,PowerModeChangedEventArgs e) { if (e.Mode == PowerModes.Suspend) PauseTimer(); else if (e.Mode == PowerModes.Resume) ResumeTimer(); }