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

时间:2011-01-01 13:30:48

标签: c# winforms desktop-application

我有一个应用程序在一段时间后执行特定任务(由计时器控制)。但每当我在hibernate之后启动PC时该应用程序就会运行。这意味着计时器在休眠期间保持运行至少一次。我怎么能避免这种情况。

1 个答案:

答案 0 :(得分:17)

您可以处理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();
    }