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

尊重Windows时间格式的即时更改

如何解决《尊重Windows时间格式的即时更改》经验,为你挑选了1个好方法。

我正在开发一个C#应用程序,试图尊重它运行的系统的时间格式.如果Windows控制面板更改为24小时格式,那就是应用程序显示时间的格式.无论如何,它成功执行此操作,但只有在应用程序运行之前更改时间格式时它才会起作用.如果在应用程序运行时更改Windows时间格式,则不会使用更新的格式.

是否有任何类型的Windows事件或其他方式来检索最新的时间格式?我们目前使用DateTimeFormatInfo LongTimePattern,因为它会根据我们是在12小时还是24小时内而改变.



1> Sean Bright..:

命名空间中有一个类SystemEvents,Microsoft.Win32它有一组可以订阅的静态事件.您将要订阅UserPreferenceChanged事件:

SystemEvents.UserPreferenceChanged += new UserPreferenceChanged;

/* Other stuff... */

private static void UserPreferenceChanged(object s, UserPreferenceChangedEventArgs e)
{
    if (e.Category == UserPreferenceCategory.Locale)
    {
        /* They changed regional settings, so do your work here */
    }
}

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