Frage

In unserem Projekt SharpWired, Wir versuchen, eine Download-Komponente zu erstellen, die den Download-Fenstern in Firefox oder Safari ähnelt.Das heißt, eine einzige Liste von Downloads von oben nach unten, bei der es sich um benutzerdefinierte Steuerelemente mit Fortschrittsbalken, Schaltflächen und vielem mehr handelt.

Die Anforderungen bestehen darin, dass es eine einzige Liste mit einem Element in jeder Zeile geben sollte.Jedes Element muss ein benutzerdefiniertes Steuerelement sein.Die gesamte Liste sollte dynamisch in der Größe veränderbar sein, sodass die Liste bei Bedarf eine Bildlaufleiste hinzufügt, wenn Sie sie länger/kürzer machen. Wenn Sie sie dünner/breit machen, sollten sich die benutzerdefinierten Steuerelemente an die Breite der Liste anpassen.

Wir haben versucht, a zu verwenden FlowLayoutPanel aber wir haben die Größenänderung nicht so hinbekommen, wie wir es wollten.Vorzugsweise sollten wir die Verankerung der benutzerdefinierten Steuerelemente nur auf „Links“ und „Rechts“ einstellen müssen.Wir haben auch über die Verwendung von a nachgedacht TableLayoutPanel Das dynamische Hinzufügen von Zeilen war bisher jedoch ein zu großer Aufwand.

Dies muss ein recht häufiger Anwendungsfall sein, und es kommt mir etwas seltsam vor, dass das FlowLayoutPanel hat keine intuitive Möglichkeit, dies zu tun. Hat jemand etwas Ähnliches gemacht oder hat er Tipps oder Tricks, um uns auf den Weg zu bringen?

Prost!
/Adam

War es hilfreich?

Lösung

Wenn Sie keine Datenbindung verwenden möchten (über DataRepeater Steuerung, wie oben erwähnt), könnten Sie eine normale verwenden Panel steuern und einstellen AutoScroll Eigenschaft auf true (um Bildlaufleisten zu aktivieren).

Anschließend können Sie Ihre benutzerdefinierten Steuerelemente manuell hinzufügen und festlegen Dock Eigentum eines jeden zu Top.

Andere Tipps

.NET 3.5 SP1 führte ein DataRepeater Windows Forms-Steuerelement, das so klingt, als würde es tun, was Sie wollen.Binden Sie es an die Liste der „Downloads“ (oder was auch immer Ihre Liste darstellt) und passen Sie jedes Elementfeld so an, dass es die von Ihnen benötigten Steuerelemente enthält.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top