Dot-Net

為整個應用程序設置 CurrentCulture 的簡單方法?

  • September 21, 2012

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

我不確定它是否有幫助,因為我從未用執行緒測試過它。

編輯:它不起作用。我認為您必須在每個執行緒中設置目前文化。

引用自:https://stackoverflow.com/questions/93153