在C#中获得系统时钟更改刻度

Wil*_*sem 5 c# events delegates clock

当秒,分钟,小时......在系统时钟中发生变化时,它们是一种执行delegateevent在C#中的方式,而不使用定时器,如果属性已更改则检查每毫秒并以最大延迟执行事件一毫秒

因此,我想避免在某个时间进行投票和发射事件.

dtb*_*dtb 7

如果您的问题是:"如何每隔一分钟/每小时/每小时执行一次代理?"

对于分钟和小时的间隔,你可以做一些像我在这个问题的答案中所示的东西:

这应该是相当准确的,但不会精确到毫秒.

对于第二个间隔,我会使用一个简单的1秒间隔的Timer.从用户的角度来看,我认为如果动作在xx:xx:xx.000或xx:xx:xx.350执行,则没有太大区别.


Ree*_*sey 6

您可以订阅SystemEvents.TimeChanged.系统时钟改变时会触发此消息.

  • 根据文档,只有在用户更改系统时间时才会触发.这可能不是CommuSoft想要的.好吧,或者它是,如果他想知道用户何时篡改时间,作为软件保护功能...... (4认同)