当前位置:  开发笔记 > 编程语言 > 正文

在c#中更改日期时间时收到通知

如何解决《在c#中更改日期时间时收到通知》经验,为你挑选了2个好方法。

最近我试图制作一个日历应用程序,它将向用户显示当前的年月日期.问题是,如果用户要在第二天保持我的应用程序运行,我该如何得到通知?我该如何更改显示的日期?我不想轮询当前日期来更新它.这在c#中是否可行.

注意:我尝试了SystemEvent.TimeChanged事件,但只有当用户从控制面板手动更改时间/日期时,它才有效.



1> 小智..:

@ OddThinking的答案将起作用(您可以为间隔而不是睡眠设置计时器).另一种方法是设置一个间隔为1分钟的计时器,并简单地检查系统日期是否已更改.由于您每分钟只执行一次轻量级代码,因此我怀疑开销会很明显.



2> Case..:
public void Main()
{

    var T = new System.Timers.Timer();

    T.Elapsed += CallBackFunction;

    var D = (DateTime.Today.AddDays(1).Date - DateTime.Now);

    T.Interval = D.TotalMilliseconds;

    T.Start();

}

private void CallBackFunction(object sender, System.Timers.ElapsedEventArgs e)
{

    (sender as System.Timers.Timer).Interval = (DateTime.Today.AddDays(1).Date - DateTime.Now).TotalMilliseconds;

}

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有