MaximumSize Breite setzen



  • Hallo, und zwar hab ich ein Label als Überschrift, nun kann aber der Text weit über das Formular hinausgehen, da der Text dynamisch erstellt wird.

    Nun wollt ich das Label mit einer MaximumSize belegen, welche die Breite des Formulars abzüglich der Position von Links und nochmal abzüglich von 5 sein soll.

    Jedoch erhalte ich die Meldung:

    Fehler 62 Der Rückgabewert "System.Windows.Forms.Control.MaximumSize" kann nicht geändert werden, da er keine Variable ist.

    Wie kann ich das umschiffen und dem Label die MaximumSize.Width setzen?



  • Hallo,

    ich glaube nicht, dass das geht, weil .Text bei Zuweisung größerer Texte sich einfach verlängert. Es ist ja ein String.

    Du kannst entweder nach jeder Änderung des Labels die Breite des Labels (Width) neu Setzen, oder den Text, den du Zuweist einfach vorher schon zuschneiden, bevor zu ihn zuweist.



  • Und wie das geht. - Gibt ja auch ne schöne Einstellung für das Label, dass Text der drüberhinaus geht abgeschnitten wird und mit 3 Punkten beendet wird.

    Hab es jetzt mit dem Designer gemacht und grob die Gröse geschätzt.



  • Wenn es darum geht das der Text des Lables nicht mehr komplett angezeigt wird, dann leg doch ein Wrappanel rein. Dann wird der Text gewrappet.



  • wieder was gelernt. Welche Eigenschaft ist das, die du jetzt verwendet hast?



  • Du mußt bei MaximumSize immer die komplette Size übergeben, d.h.

    label.MaximumSize = new Size(x, y);
    

    Nur 'Width' oder 'Height' kannst du nicht ändern, da Size eine Struktur ist (Value-Type).



  • Ah das ist wie bei Location, da muss man auch einen neuen Point(X;Y) übergeben...


Anmelden zum Antworten