在 .net 2 winforms 应用程序中,为整个应用程序设置区域性的好方法是什么?
为每个新线程设置 CurrentThread.CurrentCulture 是重复的且容易出错。
理想情况下,我想在应用程序启动时设置它并忘记它。

有帮助吗?

解决方案

.NET 中线程的区域性就是系统的区域性(从单个应用程序/进程的角度来看)。在 .NET 中无法覆盖它,您必须继续为每个新线程设置 CurrentCulture。

其他提示

您可以这样设置应用程序当前文化:

static void Main()
{
    System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("fi-FI");
    Application.CurrentCulture = cultureInfo;
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

我不确定它是否有帮助,因为我从未用线程测试过它。

编辑:它不起作用。我认为你必须在每个线程中设置当前的文化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top