Autor Beitrag
VampireSilence
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109
Erhaltene Danke: 5


C# (VS 2008 Express), PHP/MySQL, Windows XP
BeitragVerfasst: Do 08.09.11 13:37 
Hallo Zusammen,

heute möchte ich euch etwas Kleineres vorstellen, das viel mehr Teil meiner und eurer Projekte sein kann. Ich dachte, vielleicht findet ihr das ja genau so nützlich, wie ich. Und weil ich das einfach nicht hinkriege, ohne Toolbox-Icon. :P

Zusammenfassung
Und zwar geht es dabei um ein Control, das andere Controls minimierbar macht. Genau wie die diversen Spoiler-Funktionen in Foren, lassen sich die Controls dann über [+]- bzw. [-]-Buttons minimieren und maximieren.

Zielgruppe
Dieses Control ist immer dann interessant, wenn man Informationen nur optional sichtbar machen möchte, ohne dafür direkt eine seperate Einstellung anzulegen. Bspw. um in einem berechnenden Programm, den Rechenweg mit auszugeben. In diesem Fall reicht es, eine Textbox minimierbar zu machen, die man dann wie gewohnt mit Inhalten füllen kann. Aber auch der Einsatz als Menüführung ist denkbar (siehe Demo).

Features
Abgesehen von der Minimierfunktion, ist das Control in der Lage, grafische Verknüpfungen zu untergeordneten CollapsibleControls herzustellen. Dabei ist es egal, wie stark diese in Panels oder SplitContainer verschachtelt sind. Auf diese Weise kann eine logische Struktur optisch sichtbar gemacht werden.

Installation/Deinstallation
Das Control wird als *.dll verteilt und kann einfach der Toolbox hinzugefügt, sowie restlos entfernt werden. Es reicht die *.dll zu löschen.
Die Bibliothek muss lediglich der Assembly beigelegt werden, wenn sie an Benutzer verteilt werden soll.

Technische Details
Das Ganze lässt sich folgendermaßen umsetzen. Man erstellt ein CollapsibleControl, sowie ein Control das man minimierbar machen möchte. Als Eigenschaft gibt man jetzt im CollapsibleControl das gewünschte Control an und dieses rutscht daraufhin direkt, mit einem [-]-Button versehen hinein. Dabei wird es aus seiner bisherigen ControlCollection entfernt und mit dem CollapsibleControl assoziiert. Das war es auch schon.
Optional können jetzt noch weitere Einstellungen vorgenommen werden, wie bspw. einen alternativen Text zu erstellen, der angezeigt werden soll, während das Control minimiert ist (bspw. "Rechenweg anzeigen:"). Außerdem kann man entscheiden, ob dieser Text auch angezeigt bleiben soll, während das Control maximiert ist (interessant für eine Menüführung) und ob das Control die Verbindungen zu untergeordneten CollapsibleControls zeichnen soll. (alles auch in der Demo zu sehen)

Screenshots / Demo
Hier sieht man die Demo, in der ich testweise ein Menü aus verschachtelten CollapsibleControls erstellt habe.
Demo
Demo: rapidshare.com/files...rol-1-0-0-0-Demo.rar

Download-Link
Version 1.0.0.0: rapidshare.com/files...eControl-1-0-0-0.rar

Feedback
Wie immer freue ich mich über jede Art von Feedback. :)

mfg
- VampireSilence
Einloggen, um Attachments anzusehen!