[vb.net] MDIchild Problem beim ändern der .text-Eigenschaft. Wird in .size nicht übernommen.
Das ist jetzt ein wenig kompliziert zu erklären. Ich bin auch nur darauf gestoßen weil die Software multilingual ist und ich Texte zur Laufzeit ändern muss.
Damit das Problem auftritt muss die Anwendung eine MDI Anwendung sein. Ändern wir nun zur Laufzeit im MDIchild z.B. den Text von Button1 (Me.Button1.Text = „Bla Bla“) dann funktioniert das auch wunderbar. Das Problem dabei ist das sich die Werte von Me.Button1.Size. nicht verändern. Das heißt der Button-Text ändert sich zwar, aber die Size-Eigenschaften nicht.
Das ist insofern ein Problem als das ich ja meist 2 Buttons habe. „Ok“ und „Abbrechen“ oder was auch immer. Nun ändere ich den Text im rechten Button und er wird dadurch kleiner oder größer (autosize = on). Damit das ganze trotzdem weiterhin schick aussieht, muss der linke Button nun so verschoben werden das der Abstand zwischen Button1 und Button2 wieder normal groß ist. Und genau hier brauche ich den neuen Me.Button1.Size.Width-Wert. Der aber immer noch der alte ist.
Die einzige Lösung die ich gefunden habe ist das die Texte der zu ändernden Elemente schon geändert werden müssen noch bevor man in der MDIform das Child öffnet. Dann werden die Werte auch schon beim Laden des Childs geändert. Achso, das Problem ist nicht immer. In der Form-Resize Funktion z.B. ändern sich die Werte ordnungsgemäß. Beim Load allerdings nicht.
Ich denke das Problem werden nur sehr wenige haben, wer ändert schon zur Laufzeit die Texte in Elementen. Aber vielleicht der ein oder andere schon.
Das wäre also eine mögliche Lösung. Hast du noch eine andere, bessere? Dann schreib doch bitte einen Kommentar und zeige uns deine Lösung. Danke.
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!