2016-07-07 12 views
0

Ich habe eine Panel, in dem ich ein TableLayoutPanel Objekt (mit blauem Hintergrund in der Abbildung). Die TableLayoutPanelDock Eigenschaft wird auf "Top" festgelegt.Gestreckt Ausrichtung in TableLayoutPanel

My Table hat 1 Zeilen und 5 Spalten, von denen jeder ein Tafel darin bemessen befestigt ist (markiert mit rot im Bild).

enter image description here

Ich möchte diese roten Platten horizontal (Dehnung in den verbleibenden Raum aber ihre Größe halten) auszurichten, in der folgenden Art und Weise in meinem Table Objekt: Die verbleibenden horizontalen Raum in der rechten Seite (das ist nicht durch die roten Platten besetzt) ​​in 6 geteilt werden und diesen berechneten Abstand zwischen jedem Plattenpaar haben.

Grundsätzlich würde Ich mag die folgende Konstruktion erreichen: enter image description here

Ich glaube, es ein in der Table für diese (vielleicht in TableLayoutPanel.ColumnsStyles oder TableLayoutPanel.LayoutSettings) bei der Einrichtung gebaut ist, aber ich kann einfach nicht finden es.

Antwort

1

Setzen Sie für jedes Ihrer roten Bereiche die Anchor-Eigenschaft auf None. Dadurch wird das rote Feld in seiner Zelle zentriert. Solange Ihre Spalten auf eine Breite von 20% eingestellt sind, sollte es so funktionieren, wie Sie es beschrieben haben. Ich habe es getan und die Ergebnisse unten erhalten.

Sample

+0

Ja, das funktioniert gut. :-) Es ist ein bisschen hässlich, dass wir bei 5 roten Panels die Spaltenbreite auf 20% setzen müssen. Wenn wir also eine weitere Spalte hinzufügen, müssten wir die Breite aller Spalten auf 17% setzen, was diese Lösung etwas un-robust macht. Es wäre eine schöne Lösung, wenn wir nur so viele Spalten hinzufügen würden, wie wir wollen, und sie so arrangieren lassen (ohne etwas anderes zu ändern). Aber das löst zumindest mein aktuelles Ziel. Vielen Dank für Ihre Zeit! – ChocapicSz