2013-06-30 4 views
6

Meine Anwendung verwendet ein TableLayoutPanel, das sich in einer TabPage befindet.TableLayoutPanel Letzte Zeilengröße zu groß

Wenn die Anzahl der hinzuzufügenden Elemente relativ klein ist (d. H. Die gesamte Registerkarte nicht "aufgefüllt" wird), wird die Höhe der letzten Zeile gestreckt. Hier ist ein Screenshot von dem, was passiert:

Table Layout Panel Last Row

habe ich versucht, die Eigenschaften der Tabelle zu ändern, um automatisch anpassen, GrowAndShrink usw., aber nichts scheint dies zu stoppen geschieht.

Hier sind meine aktuellen Einstellungen für die Layout-Eigenschaften der Tabelle:

Table Layout Panel Layout Properties

Wie kann ich die letzte Zeile erhalten die gleiche Größe wie die anderen Zeilen sein?

Dank

+0

Ich empfehle Ihnen, einige Änderungen in Ihrem Design vorzunehmen, setzen Sie die dock -Eigenschaft von TableLayoutPanel nach oben statt füllen. – saber

+0

Dock ist derzeit auf Keine eingestellt. –

+0

Nun, mach es oben, ich denke das wird dir helfen. – saber

Antwort

4

Basierend auf Ihrem Design und Ihre Anforderungen Ich schlage vor, Sie Dock Eigentum von TableLayoutPanel nach oben zu machen.

2

Ich hatte ein ähnliches Problem, wo die letzte Zeile war immer zu hoch in einem TLP mit mehr Zeilen als passen könnte, mit AutoScroll.

Die Lösung bestand darin, AutoScroll auszuschalten, die Zeilengrößen aus der TLP-Zeilen-Sammlung festzulegen und dann AutoScroll wieder einzuschalten.

2

Die Verwendung der dock-Eigenschaft löst das letzte Zeilenhöhenproblem, erstellt jedoch ein anderes, indem die Tabellenbreite so geändert wird, dass sie der Containerbreite entspricht (100%). Ich wollte, dass die Höhe in der letzten Reihe korrekt ist, aber ich will nicht die erzwungene 100% Breite.

Statt die Dock-Eigenschaft verwenden, habe ich:

AutoSizeMode = AutoSizeMode.GrowAndShrink 

, dass die Auto-Size-Arbeit korrekt auf der letzten Zeile und Spalte gemacht.

3

Ich hatte gerade sehr ähnliches Problem. Füllung TableLayoutPanel programmatisch (mit Autoscroll) und die letzte Reihe war zu hoch. Dock-Work-around war für mich nicht geeignet.

Fixed durch Hinzufügen von leeren Label als letzte Zeile. Es "besetzt" die letzte Zeile, ist aber nicht sichtbar. Genug für mich.