2012-11-13 43 views
35

我想为该类或整个应用程序设置默认文化信息。如何为整个c#应用程序设置默认文化信息

例如在土耳其3,2 =英语3.2

这样的应用程序使用我的地方,但我希望它作为默认使用

System.Globalization.CultureInfo.InvariantCulture 

我如何可以将其设置为默认为特定类别或整个应用程序

+1

我必须补充一点, .ToString()的非固定版本要慢得多,而且“Thread.CurrentThread.CurrentCulture”没有什么区别。 – gatopeich

+0

[有没有为整个应用程序设置文化的方法?当前所有线程和新线程?](http://stackoverflow.com/questions/468791/is-there-a-way-of-setting-culture-for-a-whole-application-all-current-threads-a ) –

回答

31

不适用于整个应用程序或特定类别。

CurrentUICulture和CurrentCulture可以设置为每个线程,如Is there a way of setting culture for a whole application? All current threads and new threads?所述。根本不能更改InvariantCulture

示例代码来改变文化为当前线程:

CultureInfo ci = new CultureInfo(theCultureString); 
Thread.CurrentThread.CurrentCulture = ci; 
Thread.CurrentThread.CurrentUICulture = ci; 

对于类你可以设置/还原重要方法里面的文化,但它会显著安全使用为以文化最格式相关的方法适当覆盖作为一个参数:

(3.3).ToString(new CultureInfo("fr-FR")) 
+0

那么我如何设置它为我正在工作的窗体窗口。它不承认线程 – MonsterMMORPG

+0

我不是真的有兴趣定义每个转换。不可能为表单线程设置它。你知道当你创建一个新的窗口项目? – MonsterMMORPG

+0

@MonsterMMORPG,什么/哪里不认识线程? –

相关问题