Как остановить таймер во время спящего режима / спящего режима в приложении c# winform?
У меня есть приложение, которое делает определенную задачу через некоторое время (управляется таймером). Но всякий раз, когда я запускаю ПК после спящего режима, это приложение запускается. Это означает, что таймер продолжает работать во время спящего режима по крайней мере один тик. Как я могу избежать этого.
1 ответов
Вы можете обрабатывать 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();
}