2016-07-20 2 views
2

Scheint, dass auf dem Windows zwei Kulturen (Sprachen) installiert sind. Zum Beispiel en-us (Englisch) und Chinesisch und wir können die Sprache mit Alt + Shift ändern, wie Sie wissen. Ich muss die ausgewählte Sprache zeigen. Zum Beispiel, wenn Chinesisch ausgewählt ist, wenn ich auf eine Schaltfläche im Windows-Formular klicke, wird eine Massage-Box angezeigt, die zeigt, dass Chinesisch ausgewählt ist. Beispiel:Wie wird die ausgewählte Sprache in C# abgerufen, wenn mehr als eine Kultur installiert ist?

if(culture == "en_us") 
{ 
    messagebox.show("English"); 
} 
else 
{ 
    messageBox.show("Chinese");* 
} 
+0

Mögliche Duplikate von [Aktuelle Sprache in culturinfo abrufen] (http://stackoverflow.com/questions/4208244/get-current-language-in-cultureinfo) – gravity

+0

@gravity Diese zeigen mir nur die zusätzliche installierte Sprache und nicht die ausgewählte aktuelle Sprache. – UserMat

+0

'CultureInfo.CurrentCulture'? 'InstalledUICulture' sollte die Liste sein, per se ... nicht umgekehrt? Die gleiche Frage hat noch eine andere Antwort, die detailliert beschreibt, wie die Kultur für diesen bestimmten Nur-Thread geändert wird: 'System.Globalization.CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InstalledUICulture;' – gravity

Antwort

1

Verwenden Sie das CultureInfo-Objekt, das die vom aktuellen Thread verwendete Kultur darstellt.

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; 

Ich hoffe, es hilft.

Verwandte Themen