代码之家  ›  专栏  ›  技术社区  ›  Douglas Tosi

为整个应用程序设置当前区域性的简单方法?

  •  11
  • Douglas Tosi  · 技术社区  · 16 年前

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

    2 回复  |  直到 16 年前
        1
  •  12
  •   Peter Ritchie    12 年前

    .NET中线程的区域性是系统的区域性(由单个应用程序/进程查看)。在.NET中没有方法重写它,您必须继续为每个新线程设置当前区域性。

        2
  •  1
  •   Jonathan Sampson    16 年前

    您可以这样设置应用程序当前区域性:

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

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

    编辑:不起作用。我认为你必须在每一条线上设置当前的文化。