两个应用程序都加载时,它们都使用Application.Run启动一个表单,在加载表单后,他们将Thread.CurrentThread.CurrentCulture设置为两个应用程序中用户选择的区域性。
我在一个应用程序中有一个命名管道侦听器,而在另一个应用程序中有一个客户端连接,当调用侦听器时,线程区域性已重置为计算机默认值。调用堆栈似乎暗示了调用线程是一个名为Application.Run的线程,这意味着与更改了区域性的线程不同。
更改CurrentThread时如何更改父线程的文化?我想那是避免这种情况的方法?
设置Application.CurrentCulture似乎仍然将父线程保留为Main作为原始区域性。
答案 0 :(得分:0)
设置以下内容可以解决此问题:
CultureInfo.DefaultThreadCurrentUICulture = culture;
CultureInfo.DefaultThreadCurrentCulture = culture;