C# 通过C更改控制面板中的自定义格式#
我知道我的问题很奇怪,但也许我能在这里找到解决办法。 我通常希望以自定义格式更改某些内容,但我必须执行许多步骤:C# 通过C更改控制面板中的自定义格式#,c#,.net,winforms,C#,.net,Winforms,我知道我的问题很奇怪,但也许我能在这里找到解决办法。 我通常希望以自定义格式更改某些内容,但我必须执行许多步骤: 单击开始按钮,然后单击控制面板 单击时钟、语言和区域,然后单击区域和语言选项 在“格式”选项卡上,单击“其他设置…” 更改我的设置,单击“确定”。 有没有办法只需点击一下就可以做到这一点?我有一些使用VisualStudio编写应用程序的知识。 对不起,我的英语不好。系统级 如果要在系统级别更改它们,可以使用C或PowerShell更改HKEY_CURRENT_USER\Contr
对不起,我的英语不好。系统级
如果要在系统级别更改它们,可以使用C或PowerShell更改
HKEY_CURRENT_USER\Control Panel\International
的值
C#示例
PowerShell示例
线程级别
如果只想为当前线程范围更改这些值,可以通过以下方式进行设置:
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;
您可以通过
Thread.CurrentCulture
和Thread.CurrentUICulture
设置来指定使用的区域性设置。这可能与系统设置不同。如果要在系统级别更改它们,可以使用C或Powershell更改HKEY_CURRENT_USER\Control Panel\International
的值。
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;