2017-06-30 89 views
0

在我的WinForms应用程序,我与他们每个人的时间来显示事件列表(如按钮的点击)。时间格式必须与Windows区域设置相同。所以我使用DateTimeoffset.ToLocalTime().ToString()为这是工作完美。获取区域设置动态

如果我更改Windows区域设置(时区或格式)的应用程序运行时,时间仍然显示在旧的格式。作为一种解决方法,我必须重新启动应用程序,以便获取新的区域设置。

有没有办法让在运行这些设置吗?

+0

的可能的复制([如何当用户改变系统的文化接收事件] https://stackoverflow.com/questions/ 4711555 /如何对接收-事件时,用户改变系统培养) – DonBoitnott

回答

-1

尝试调用此:

Thread.CurrentThread.CurrentCulture.ClearCachedData() 

,然后重试本地时间呼叫

+1

当他将需要调用它? –

+0

工作。但清除每个事件的缓存似乎不是一个好主意 – Mhd

+0

@Mhd看看这个链接:https://stackoverflow.com/questions/4711555/how-to-receive-event-when-user-changes-systems-文化 如果事件触发改变的时间,然后清除缓存 –