gpt4 book ai didi

c# - 尊重 Windows 时间格式的即时更改

转载 作者:行者123 更新时间:2023-11-30 19:52:03 28 4
gpt4 key购买 nike

我正在开发一个 C# 应用程序,该应用程序试图遵守其运行系统的时间格式。如果 Windows 控制面板更改为 24 小时格式,这就是应用程序显示时间的格式。无论如何,它成功地做到了这一点,除了只有在应用程序运行之前更改时间格式时它才会起作用。如果您在应用程序运行时更改 Windows 时间格式,它将不会使用更新后的格式。

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

最佳答案

Microsoft.Win32 命名空间中有一个类 SystemEvents,它有一组您可以订阅的静态事件。您需要订阅 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 */
}
}

关于c# - 尊重 Windows 时间格式的即时更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493888/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com