如何获取Windows区域格式?

时间:2016-09-11 07:28:20

标签: c# format culture region

在Windows的控制面板中有一个组合框,我们可以在其中更改区域格式(controlPanel => Region => Formats(windows 10))。例如波斯语或英语

我想在我的应用程序中检索此区域设置。

我尝试了这样的代码:

        CultureInfo ci = CultureInfo.InstalledUICulture;
        var installed = ci.Name;

        ci = CultureInfo.CurrentUICulture;
        var currentUi = ci.Name;

        ci = CultureInfo.CurrentCulture;
        var current = ci.Name;

installedcurrentUi始终是' en-US' current是' fa-IR'

当我更改控制面板中的格式时,他们不会改变。

1 个答案:

答案 0 :(得分:-1)

我使用了这段代码。

Thread.CurrentThread.CurrentCulture.ClearCachedData();
var thread = new Thread(s => ((State)s).Result = Thread.CurrentThread.CurrentCulture);
var state = new State();
thread.Start(state);
thread.Join();
var culture = state.Result;

然后我们使用culture.Name。 在这种情况下,没有必要关闭并重新打开程序。