UICulture zur Laufzeit ändern --> Controls updaten

Nico Graichen

Erfahrenes Mitglied
Hallo zusammen

Ich bin mit an der Entwicklung einer mehrsprachigen Anwendung beteilt, bei der es möglich ist, zur Laufzeit die Sprache zu ändern.
Wenn dies geschieht, soll sich verständlicherweise auch die Beschriftung der Controls ändern.
Zur Zeit mache ich es so, dass ich rekursiv über alle Controls laufe und für jedes Control
ComponentResourceManager.ApplyResources(object, objectName) aufrufe.
Gibt es vielleicht eine einfachere Methode, als die genannte?

schonmal danke
 
Verwendest du nur eigene Controls, oder die Standardcontrols?

Des weiteren: Nutzt du eine externe Quelle für die Übersetzungen? (beispielsweise ein XML-File?)

Und noch ein Punkt: Du könntest auch die Localizable-Property der Form auf true stellen und die Übersetzungen ins Ressource-File einpflegen.
 
Hi Norbert
Norbert Eder hat gesagt.:
Verwendest du nur eigene Controls, oder die Standardcontrols?
Sowohl als auch. Bei den eignene Controls ist mir klar, dass ich das selbst implementieren muss. Zumal der in diesen Controls angezeigte Text abhängig vom hinterlegten Objekt ist, die über COM abgefragt werden. Darum geht es mir aber nicht.
Mir geht es um die StandardControls, vorallem um ToolStrips.
Norbert Eder hat gesagt.:
Des weiteren: Nutzt du eine externe Quelle für die Übersetzungen? (beispielsweise ein XML-File?)
Und noch ein Punkt: Du könntest auch die Localizable-Property der Form auf true stellen und die Übersetzungen ins Ressource-File einpflegen.
Die Übersetzungen sind in die Resourcen eingepflegt und Localizable ist True, sonst könnte ich ja auch nicht den ComponentResourceManager dafür nutzen.
Trotzdem muss ich aber über alle Controls laufen und jedes an diesen übergeben, was ich ein bisschen umständlich finde.
 
Zurück