Wie ändere ich die Kultur einer WinForms-Anwendung zur Laufzeit
Habe ich erstellt Windows Form Programm in C#. Ich habe einige Probleme mit der Lokalisierung. Ich habe die Ressource-Dateien in 2 Sprachen(eine für Englisch und eine weitere ist für das französische). Ich möchte Sie auf jede Schaltfläche Sprache und Sprache ändern zur Laufzeit.
Aber wenn ich bin klicken auf die Schaltfläche, funktioniert es nicht. ich bin mit diesem code.
private void btnfrench_Click(object sender, EventArgs e)
{
getlanguage("fr-FR");
}
private void getlanguage(string lan)
{
foreach (Control c in this.Controls)
{
ComponentResourceManager cmp =
new ComponentResourceManager(typeof(BanksForm));
cmp.ApplyResources(c, c.Name, new CultureInfo(lan));
}
}
jede pls Hilfe......
Vielen Dank....
InformationsquelleAutor Enigma State | 2011-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser arbeitete:
Seien Sie vorsichtig, um zu vermeiden, hinzufügen von Pfeifen wie diese, die niemand jemals verwenden. Es am besten ist ein demo-feature, in der Praxis der Benutzer nicht ändern Sie Ihre native Sprache on-the-fly.
muss ich hinzufügen, Ressource-Dateien zu bilden , habe ich geändert Lokalisierungs-Eigenschaft auf true fest und ändern die Sprache Englisch für Belgien, aber es nicht zeigen, die Sprache, die ich ausgewählt habe...und ich dint sehen, keine zusätzliche Ressource-Dateien werden Hinzugefügt, um form ...
Sie hat noch nicht einmal begonnen und Sie wollen wissen, wie man wechseln? Keine Ahnung, was "zeigt nicht die Sprache, die ich ausgewählt habe" bedeuten könnte. Sie benötigen, um Eigenschaften zu Bearbeiten. Nach dem ändern der Language-Eigenschaft die Text-Eigenschaft von der form zum Beispiel. Das automatisch erstellen der Form1.fr.resx-Datei. Öffnen Sie die Knoten weiter zu bilden, um es zu sehen.
InformationsquelleAutor Hans Passant
Müssen Sie möglicherweise einen Anruf ApplyResources rekursiv auf die Kontrollen:
InformationsquelleAutor kevev22
Aktualisierung der CultureInfo zur Laufzeit möglicherweise reset-Baustein Größe. Dieser code behält die Größe und position der Steuerelemente
(es wird noch sichtbare flackern, das mit SuspendLayout() nicht fix)
InformationsquelleAutor Erik