Wie kann ich eine Reihe von Etiketten in eine C # Form hinzufügen, und blättern Sie dann das Formular vertikal?
-
09-10-2019 - |
Frage
Ich habe ein Formular in C # (WinForms). Es sieht wie folgt aus:
(LOGO)
Leerzeichen für Etiketten, dass ich hinzufügen durch Code (I 10 kann Etiketten passen dieser Raum)
(Schließen-Schaltfläche)
Der leere Raum kann etwa 10 Etiketten halten.
Ich bin ratlos, wie ich diese Form scrollbaren machen würde, wenn ich 20 Etiketten hinzufügen? Wenn ich 20 Etiketten über Code hinzufügen, dann wird das 11. Etikett mit meiner Schließen-Schaltfläche überlappen und 12. + Etikett (en) wird das Ende der Form ablaufen.
Wie kann ich nur den leeren Raum Teil meiner Form scrollbaren machen, wo ich die Etiketten erschaffe? Ich will nicht, ein Listenfeld verwenden.
Danke.
Lösung
Legen Sie alle Steuerelemente in einem Panel und Verwendung Scrollbar Kontrolle.
Andere Tipps
Sie sollten versuchen, entweder ein TableLayoutPanel
oder ein FlowLayoutPanel
als Container für Ihre Label
Kontrollen.
Ein TableLayoutPanel
ermöglicht es Ihnen, ein feineres Maß an Kontrolle darüber, wo Ihre Etiketten positioniert sind. Wie eine HTML-Tabelle, geben Sie die genaue Zellenposition (Zeilen- und Spaltenkoordinaten) jede Kontrolle.
Im Gegensatz dazu wird ein FlowLayoutPanel
die Positionierung seines Inhalts automatisch entweder in einer vertikalen oder horizontalen Layout-Konfiguration handhaben. Die Positionierung wird durch die Reihenfolge bestimmt, in dem Sie die Steuerelemente hinzufügen, so dass Sie eine dynamische Layout mit einer minimalen Menge an Aufwand erreichen.
wird Entweder können Sie Ihr Label-Steuerelemente, um es zu Laufzeit und Größe selbst in geeigneter Weise hinzuzufügen. Um für das Layout Panel scrollbaren, sein, stellen Sie sicher, dass Sie seine AutoScroll
Eigenschaft auf "True" gesetzt.
Vielleicht ein FlowLayoutPanel
mit AutoScroll
Satz auf true und FlowDirection
Satz TopDown
.