2010-09-09 7 views
12

Gibt es eine Möglichkeit, den Textinhalt von Steuerelementen auf einem TableLayoutPanel ordnungsgemäß auszurichten? Ich habe Beschriftungen in Spalte 0 und Textfelder (oder gelegentlich ComboBox- oder NumericUpDown-Steuerelemente) in Spalte 1, aber der Text in der Beschriftung ist normalerweise ein Pixel oder zwei (vertikal) in den meisten Zeilen.Steuerelemente in einem TableLayoutPanel vertikal ausrichten

Antwort

0

Oh, Sie meinen, dass die Textgrundlinie für Label ist anders als für andere Kontrollen? Wenn ja, versuchen Sie, entfernen Sie vertikale Anker. Sie können auch mit Margen spielen.

+0

Versucht, aber es funktioniert nicht mit allem; Comboboxen sind immer noch schlecht ausgerichtet. – Flynn1179

0

Was ich normalerweise mache, ist sie in einen Behälter, zB eine Platte, zu legen und sie relativ dazu zu verankern. Die Vorteile des Hinzufügens eines Containers sind, dass Sie auch die Anzahl der Win-Handler reduzieren können. In diesem Fall wäre das egal, weil Sie bereits das TableLayoutPanel haben, also grundsätzlich für alle Steuerelemente nur einen einzigen Handler haben.

6

Sie können folgende Eigenschaften festgelegt:

for Label
1.Autosize = false;
2. TextAlign = MiddleLeft;

für Steuerelemente wie Combobox, Textbox

goto Ansicht -> Symbolleisten -> Layout

Jetzt können Sie das Layout Ihrer Kontrollen geben sehr leicht durch die Toolbar von zu einem Zeitpunkt mehrere Steuerelemente Auswahl .... ........

+1

Notwendigkeit, Top-Anker auch zu entfernen. –

1

Ich würde empfehlen, die Anker so zu belassen, wie sie sind und nur einen oberen Rand zu den Kontrollen hinzuzufügen, die zu hoch sind. Ein Rand von 3,6,3,0 ist für mich normal, wenn ich Labels hinzufüge. Wie Javed sagte, können Sie mehrere Steuerelemente auswählen, indem Sie auf klicken. Es irritiert mich, dass ComboBoxen ein Pixel größer sind als Texboxen. Daran kann ich aber nicht viel ändern.

10

Ich habe vor ein paar Tagen daran gearbeitet. Ich habe alles wie erforderlich. Versuchen Sie folgendes:

Für Labels

  • Detach Label von Table
  • Set DockStyle
  • Set Ankerpunkte keine es
  • TextAlign = MiddleLeft
  • Dann einfach Platz in der Tabelle nach oben Layoutspalte
  • Stellen Sie sicher, dass die Zeilenstilhöhe mit der Etikettenhöhe übereinstimmt, wenn Sie eine Etikettenhintergrundfarbe haben.

Für Textfelder

  • Detach Textfelder von Table
  • Set DockStyle zu keiner
  • Set Ankerpunkte keine
  • TextAlign = MiddleLeft (oder nach Bedarf)
  • Dann legen Sie es einfach in der Tabellenlayoutspalte
7

Wählen Sie alle Steuerelemente in Ihrem Tabellenlayout aus. Stellen Sie sicher, dass der Anker auf der Registerkarte "Eigenschaften" auf "Left" gesetzt ist. Ich denke, es ist standardmäßig "oben, links".
Hoffe, dass die Dinge gerade werden.

+0

Hast du es überhaupt versucht? – quantum

+0

Besser und einfacher. Ich habe die gleiche Lösung gefunden, aber habe deine Lösung hier schon gefunden. – Aakash