C# 使用不同参数配置CurrentCulture和CurrentUICulture

C# 使用不同参数配置CurrentCulture和CurrentUICulture,c#,currentculture,currentuiculture,C#,Currentculture,Currentuiculture,我正在使用c.net3.5,我想将currentculture设置的小数分隔符从逗号改为点,但同时我希望用户可以在numericupdown控件中使用逗号作为小数分隔符。 所以我试着改变我的文化背景,如下所示 CultureInfo newUIculture = new CultureInfo("tr-TR"); newUIculture.NumberFormat.CurrencyDecimalSeparator = ","; newUIculture.NumberFormat.Currency

我正在使用c.net3.5,我想将currentculture设置的小数分隔符从逗号改为点,但同时我希望用户可以在numericupdown控件中使用逗号作为小数分隔符。 所以我试着改变我的文化背景,如下所示

CultureInfo newUIculture = new CultureInfo("tr-TR");
newUIculture.NumberFormat.CurrencyDecimalSeparator = ",";
newUIculture.NumberFormat.CurrencyGroupSeparator = ".";
newUIculture.NumberFormat.NumberDecimalSeparator = ",";
newUIculture.NumberFormat.NumberGroupSeparator = ".";
newUIculture.NumberFormat.PercentDecimalSeparator = ",";
newUIculture.NumberFormat.PercentGroupSeparator = ".";
//Application.CurrentUICulture = newUIculture;//this line giving error.
Thread.CurrentThread.CurrentUICulture = newUIculture;//this line doesn't work

CultureInfo newCulture = new CultureInfo("tr-TR");
newCulture.NumberFormat.CurrencyDecimalSeparator = ".";
newCulture.NumberFormat.CurrencyGroupSeparator = "";
newCulture.NumberFormat.NumberDecimalSeparator = ".";
newCulture.NumberFormat.NumberGroupSeparator = "";
newCulture.NumberFormat.PercentDecimalSeparator = ".";
newCulture.NumberFormat.PercentGroupSeparator = "";
Application.CurrentCulture = newCulture;//this one work fine

当前区域性设置工作正常,但currentUIculture设置无法作为我指定的参数工作。如何使用我提供的参数配置这两个设置?

CurrentUICulture用于选择加载哪些资源文件。CurrentCulture确定区域性相关函数(如格式化日期和数字)的结果。因此,您看到的行为是预期的:您应该使用CurrentCulture。

查看System.Windows.Forms.Application.CurrentCulture,它只是Thread.CurrentThread.CurrentCulture的一个薄薄包装,没有System.Windows.Forms.Application.CurrentUICulture这样的东西,这就解释了为什么你的注释行会为你抛出错误


如果by不起作用,您的意思是不会像我希望的那样更改十进制分隔符,那么您已经回答了自己的问题:CurrentCulture是控制它的东西,而不是CurrentUICulture。这是它们拼写不同的原因。

因为UI,我认为它可能与用户界面有关。。我也认为我做错了什么。我的目标是将currentculture设置的十进制分隔符从逗号改为点,但同时我希望用户可以在numericupdown控制器中使用逗号作为十进制分隔符。当前文化是否可能?