11

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

4

2 回答 2

12

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

于 2008-09-18T15:08:02.270 回答
1

您可以通过这种方式设置应用程序当前文化:

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

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

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

于 2008-09-18T15:33:32.553 回答