Mat*_*t H 2 .net c# formatting datetime
我正在开发一个C#应用程序,试图尊重它运行的系统的时间格式.如果Windows控制面板更改为24小时格式,那就是应用程序显示时间的格式.无论如何,它成功执行此操作,但只有在应用程序运行之前更改时间格式时它才会起作用.如果在应用程序运行时更改Windows时间格式,则不会使用更新的格式.
是否有任何类型的Windows事件或其他方式来检索最新的时间格式?我们目前使用DateTimeFormatInfo LongTimePattern,因为它会根据我们是在12小时还是24小时内而改变.
命名空间中有一个类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 */
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |