So ändern Sie die Größe der DevExpress-Steuerelemente

8

Ich habe ein DevExpress LayoutControl-Set in einem WinForms-Formular. Ich möchte, dass LayoutControl die Größe von horizontally ändert, wenn die Größe des Formulars geändert wird, oder zumindest die Größe des LayoutControls für den Benutzer veränderbar macht.

Ich habe in den Seitenvorschlägen von DevExpress gesehen, dass die Eigenschaft SizeConstraintsType in "default" geändert wurde. Ich habe auch versucht, das Steuerelement rechts und links von seinem Elternteil zu verankern. Ich habe auch daran gearbeitet, die MaxSize zu erhöhen. Weiß jemand, wie man das macht?

Ich möchte nur das Äquivalent zu (in HTML) <table width=100%> machen. Weiß jemand, wie man das macht?

Vielen Dank im Voraus!

    
Clay Acord 21.09.2011, 19:41
quelle

1 Antwort

13

Das Express LayoutControl des Entwicklers ist ein sehr nettes Werkzeug, hat aber ein paar Fehler.

Das LayoutControl selbst sollte in der Größe eines Containersteuerelements, wie einem Formular, einem Benutzersteuerelement oder einem Panel-Steuerelement, einfach angepasst werden. In vielen Fällen ist das Layout-Steuerelement eines der ersten Dinge, die Sie auf Ihr Formular / Steuerelement legen, weil alles andere darin liegt, um "Layout" zu sein. Daher sollten Sie die "Dock" -Eigenschaft des Layout-Steuerelements auf "Fill" oder auf die gewünschte Kante des Formulars / Steuerelements festlegen, an das es angedockt werden soll.

Das "gotcha" ist, dass die interne Logik der Layout-Steuerung ihre externen Dimensionen oder jedes interne Element einschränken kann, wenn es dazu in der Lage ist und die Layout-Elemente eine bestimmte Größe haben sollen. Das ist eigentlich einfacher als es sich anhört.

Nehmen wir beispielsweise an, Sie haben ein Label-Steuerelement in Ihrem Layout-Steuerelement. Ein Label-Steuerelement wird standardmäßig auf die Breite seines Textes angepasst. Das Layout-Steuerelement wird wiederum versuchen, die gewünschte Größe des Etiketts anzupassen, indem die Größe des Layout-Elements verkleinert / vergrößert wird. So könnte dieses eine Label-Steuerelement mit Ihrer Layout-Steuerung die Größe ändern. Ich habe Label als Beispiel gewählt, weil es die gebräuchlichste Kontrolle ist, um Ihr Layout-Design durcheinander zu bringen.

Die Art und Weise, wie ich das behebe, ist, die "AutoSizeMode" -Eigenschaft der Beschriftung auf "vertikal" (wenn Sie den Text umbrechen wollen) oder "keine" zu ändern (wenn Sie die Größe des Layout-Steuerelements erzwingen wollen) . Dies gibt die Layoutsteuerung frei, um die Breitenentscheidungen zu treffen.

Auch wenn Sie die Größe des Layout-Steuerelements vom Endbenutzer ändern lassen (z. B. mit DevExpress 'SplitterControl), wird das Layout erneut versuchen, seine optimale Größe zu erreichen und das SplitterControl nicht von dieser optimalen Größe abweichen zu lassen Die Größe der Steuerelemente lässt sich einfacher ändern (z. B. Raster, Struktur, Liste usw.). In diesem Fall ermöglicht es das Hinzufügen eines "EmptySpaceItem" zum Layout-Steuerelement, dass es bei der Größenanpassung einen leeren Platz füllt. Um ein EmptySpaceItem zu Ihrem Layout hinzuzufügen, klicken Sie mit der rechten Maustaste auf das Layout-Steuerelement im Visual Studio-Designer und wählen Sie "Layout anpassen". Der Dialog Anpassen enthält eine Liste von Elementen, die Sie auf das Layout-Steuerelement einschließlich des EmptySpaceItems ziehen können.

    
BenSwayne 20.10.2011 02:57
quelle

Tags und Links