关于.net:为整个应用程序设置CurrentCulture的简便方法?

关于.net:为整个应用程序设置CurrentCulture的简便方法?

Easy way to set CurrentCulture for the entire application?

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


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


您可以通过以下方式设置应用程序当前区域性:

1
2
3
4
5
6
7
8
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());
}

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

edit:它不起作用。我认为您必须在每个线程中设置当前的区域性。


推荐阅读