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

标签 c# winforms desktop-application

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

最佳答案

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

关于c# - 如何在 C# winform 应用程序的休眠/ sleep 模式下停止计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574188/

相关文章:

c# - 如何使用 .net core 的 ILoggerFactory 写入自定义事件源?有没有办法指定来源?

c# - HttpClientHandler 抛出 PlatformNotSupportedException

.net - 如何以编程方式关闭 VB.NET 中的 ComboBox 下拉菜单?

C# Windows 窗体 - MenuItem 单击事件 - 获取 MenuItem 文本

c# - C#中桌面应用程序的结构

java - 将 J2SE 应用程序与 Web 应用程序集成的最简单方法

amazon-web-services - Amazon AWS DynamoDB 桌面客户端 - 是否存在?

c# - list[i] 是 C# 中 list.get_item(i) 的别名吗?

c# - 全局缓存对象不断添加项目

c# - 单元格事件参数中的动态 DataGridView 引用