【问题标题】:Change Customize Format in Control Panel by C#通过 C# 在控制面板中更改自定义格式
【发布时间】:2017-10-11 00:59:24
【问题描述】:

我知道我的问题很奇怪,但也许我可以在这里找到解决方案。 我通常想更改自定义格式中的一些内容,但我必须执行很多步骤:

  1. 单击“开始”按钮,然后单击“控制面板”。
  2. 单击时钟、语言和区域,然后单击区域和语言选项。
  3. 在“格式”选项卡上,单击“其他设置...”
  4. 更改我的设置,单击确定。

有什么方法可以一键完成吗?我有一些使用 Visual Studio 编写应用程序的知识。 对不起我的英语不好。

【问题讨论】:

  • 您可以通过Thread.CurrentCultureThread.CurrentUICulture 设置来指定使用的文化设置。这可能与系统设置不同
  • 如果您想在系统级别更改它们,您可以使用 C# 或 Powershell 更改 HKEY_CURRENT_USER\Control Panel\International 的值。

标签: c# .net winforms


【解决方案1】:

系统级

如果您想在系统级别更改它们,您可以使用 C# 或 PowerShell 更改 HKEY_CURRENT_USER\Control Panel\International 的值。

C# 示例

Microsoft.Win32.Registry.SetValue(@"HKEY_CURRENT_USER\Control Panel\International", 
    "sDecimal", ",");

PowerShell 示例

Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sDecimal -Value ","

线程级别

如果您只想为当前线程范围更改这些值,可以这样设置:

var current = System.Threading.Thread.CurrentThread.CurrentCulture;
var culture = System.Globalization.CultureInfo.CreateSpecificCulture(current.Name); 
culture.NumberFormat.NumberDecimalSeparator = ",";
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多