2008-09-18 5 views
11

In einer .net 2 Winforms-Anwendung, was ist ein guter Weg, um die Kultur für die gesamte Anwendung zu setzen?
Einstellung CurrentThread.CurrentCulture für jeden neuen Thread ist wiederholend und fehleranfällig.
Idealerweise möchte ich es einstellen, wenn die App startet und es vergessen.Einfache Möglichkeit, CurrentCulture für die gesamte Anwendung zu setzen?

+3

Das sind wahrscheinlich alte Nachrichten, aber es ist möglich, in .NET 4.5 (siehe Link) (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture) das zu tun, was Sie wollen .aspx)). Sie müssen wahrscheinlich sowohl 'DefaultThreadCurrentUICulture' als auch' DefaultThreadCurrentCulture' einstellen. – nooblar

+1

Ich weiß, dass dieses Thema ziemlich alt ist, aber alle Neulinge können sehen: http://stackoverflow.com/questions/28426349/custom-format-for-entire-application – Tariktiri

Antwort

12

Die Kultur für einen Thread in. NET ist die Kultur für das System (wie von einer einzigen Anwendung/Prozess angezeigt). Es gibt keine Möglichkeit, dies in .NET zu überschreiben, Sie müssen weiterhin die CurrentCulture für jeden neuen Thread festlegen.

+2

> die Kultur für das System streng genommen, die Kultur entsprechend den regionalen Einstellungen des aktuellen Benutzers. – Joe

1

Sie können Anwendungs ​​aktuelle Kultur auf diese Weise festgelegt:

static void Main() 
{ 
    System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("fi-FI"); 
    Application.CurrentCulture = cultureInfo; 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new Form1()); 
} 

Ich bin nicht sicher, ob es hilft, weil ich noch nie mit Fäden getestet.

edit: es funktioniert nicht. Ich denke, man muss die aktuelle Kultur in jedem Thread festlegen.

+2

Ich habe Ihre Lösung versucht und es machte keinen Unterschied. –

+4

"Application.CurrentCulture" delegiert an 'Thread.CurrentThread.CurrentCulture', sodass es nur für den Hauptthread der Anwendung festgelegt wird. – adrianbanks

Verwandte Themen