Laden...

Sprache dynamisch ändern

Erstellt von marsgk vor 17 Jahren Letzter Beitrag vor 16 Jahren 7.696 Views
M
marsgk Themenstarter:in
1.439 Beiträge seit 2005
vor 17 Jahren
Sprache dynamisch ändern

Hallo Leute,

da ich mich von meiner Arbeit ablenken wollte, und einige Personen Interesse an einer Komponente haben, mit der man die Sprache eines (GUI)Programmes dynamisch ändern kann, hab ich mal etwas geschrieben.
Einfache Properties können ganz einfach geändert werden.=>


Control myObj = new Label();
string resourceKey = "myObj.Text";
string propertyName = "Text";
ResourceManagerEx.Items.Add(myObj, resourceKey, propertyName);

Ausserdem gibt es noch die Möglichkeit statt eines Properties einen delegate anzugeben,
der dem Objekt den Wert zuweist.=>


ResourceManagerEx.Items.Add(myObj, resourceKey, myDelegate);
...
private void MyDelegate(object o, string resourceKey, object value) {
    ((Label)o).Text = value.ToString();
}

Die Sprache kann so verändert werden:


ResourceManagerEx.ResourceCulture = new CultureInfo("DE");

Ein kleines Testprogramm ist auch dabei.

M
marsgk Themenstarter:in
1.439 Beiträge seit 2005
vor 17 Jahren

Wie ich gerade gemerkt habe, gibt es ab .NET 2.0 die Methode ComboBox.RefreshItems(). Somit muss man nicht mehr "von Hand" die ComboBox aktualisieren.

X
92 Beiträge seit 2007
vor 16 Jahren

Geht das nicht auch einfacher??z\Z.B Click event und dann z.B richtextbox1.Text = "Hello!" oder so ahnlich