2017-10-10 91 views
1

我知道我的问题很奇怪,但也许我可以在这里找到解决方案。 我通常要改变自定义格式的一些东西,但我必须去这么多的步骤:更改控制面板中的自定义格式,C#

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

有什么办法可以通过一次点击来做到这一点?我有一些使用Visual Studio编写应用程序的知识。 对不起,我的英语不好。

+0

您可以通过'Thread.CurrentCulture'和'Thread.CurrentUICulture'来设置文化设置。这可能与系统设置有所不同 – DiskJunky

+0

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

回答

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;