Hey,
ich wusste nicht so wirklich wonach ich hierbei suchen sollte und war dementsprechend erfolglos.
Ich würde in meine eigene WindowsForms-Anwendung gern eine solche ListView einbinden, wie sie in VisualStudio 2012 als ToolBox realisiert ist.
Also inklusive der Fähigkeit sie wegzuklappen oder sticky zu halten.
Gibt es da eine Möglichleit ohne eine Framework oder bin ich da auf externe Dinge angewiesen?
Beste Grüße,
Jan
Im Prinzip ist das garnicht so kompliziert.
Du musst nur von UserControl ableiten.
Dort die Eigenschaft DisplayRectangle überschreiben, für den Client Bereich, wo Controls draufgezogen werden können.
(Achtung, wenn AutoScroll an dort ev. noch AutoScrollPosition mit beachten, für X,Y)
OnPaint Überschreiben für die Header anzeigen und entsprechend mit den Mausereignis auf klick reagieren zum auf/zuklappen. (Image für auf/zu dort zeichnen und in mausereignis entsprechend Koordinaten abfragen)
Dieses Control einfach mit Dock.Top docken und beim zuklappen alte höhe merken und höhe auf höhe des headers setzen, beim aufklappen höhe auf alte höhe
Edit:
[Designer(typeof(System.Windows.Forms.Design.ScrollableControlDesigner), typeof(System.ComponentModel.Design.IDesigner))]
Noch setzen damit de im Designer Controls draufziehen kannst
Hallo,
mit der DockPanel Suite oder entsprechenden kostenfpflichtigen Komponenten (DevComponents, DevExpress, Infragistics...) lässt sich sowas alternativ auch umsetzen. Da ist halt dann schon alles fertig 😉
Daniel
Danke für die Antworten.
Ich werde das mal mit meinem Chef besprechen 😉
Alternative Frage:
Wäre sowas mit WPF direkt möglich?
Grüße,
Jan
"Direkt" ist eine Aussage-Klausel, die sehr breit gefächert ist. Generell geht alles.
> Ja es gibt in WPF ein Dockpanel.
> Nein, es gibt kein fertiges Control, das aussieht wie das in VS.
In VS2012 ist es aber mit Sicherheit via WPF umgesetzt.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ok,
dann bedanke ich mich "direkt" ... oder "indirekt"... 😉
Scherz bei Seite.
Wenn Chef das wirklich will, werd ich ihm WPF vor die Nase halten und sehen was er dazu sagt.
Danke nochmals!
Kommt drauf an, wie komplex Deine bestehende WinForms-Anwendung ist... je nachdem könnte es deutlich teurer werden, die zu WPF umzubauen, als 300$ für eine entsprechende Komponente auszugeben 😉
Moin,
nach einiger rumprobiererei denke ich, dass DevExpress die beste Alternative ist.
Das Tool ist einfach wunderbar zu benutzen, die Controls sehen modern aus und selbst das Ribbin-Menu ist ne feine Sache.
So etwas selbst zu bauen dürfte deutlich teurer werden, als die Komponente zu kaufen.
Werd mir noch mal die Lizenzgeschichte anschauen und dann präsentieren.
Grüße und Dank für die die Beiträge
Jan
Aaaaalso.
das ganze wird jetzt in WPF gewünscht. (Es geht um die neuentwicklung einiger Komponenten, die bisher ind PowerBuilder geschrieben sind)
DevExpress in WinForms gefällt mir persönlich saumäßig gut, leider ist das Verhalten in WPF so ziemlich anders:
Das Styling fällt schwer, das DockPanel hat einige Schwächen usw.
Gibt es weitere, bisher nicht genannte Hersteller solche Komponenten-Bundles?
Grüße,
Jan
Hi nevermind10844,
wenn du WPF benutzt, brauchst du meiner Meinung nach kein extra Controls dafür. Mit einem ItemsControl und den entsprechenden DataTemplates für die Items sollte sich das relativ schnell umsetzen lassen.
Es gibt offenbar auch ein fertiges Control, das Microsoft über den VisualStudio SDK vertreibt: Walkthrough: Creating a WPF Toolbox Control.
Christian
Weeks of programming can save you hours of planning