为整个应用程序设置CurrentCulture的简便方法?

时间:2020-03-06 14:21:39  来源:igfitidea点击:

在.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());
}

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

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