wake-up-neo.net

Wie erstelle ich ein Explorer-ähnliches Ordner-Browser-Steuerelement?

Mit C # und WinForms in VS2008 möchte ich ein Dateibrowser-Steuerelement erstellen, das wie der linke Fensterbereich in Windows Explorer aussieht und funktioniert. Zu meinem Erstaunen wird ein solches Steuerelement standardmäßig nicht mit .NET ausgeliefert.

Im Idealfall möchte ich, dass der Inhalt genau derselbe ist wie im Explorer. Unter Windows 7 sollten beispielsweise die Pseudoordner von Favorites und Libraries angezeigt werden. Natürlich möchte ich nicht spezifisch für jede Windows-Version programmieren, wenn ich ihm helfen kann.

Ich habe herumgesucht, und es gibt einige Beispiele für solche Steuerelemente, aber alle werden von Hand gerollt und funktionieren daher nicht zu 100% wie in Explorer.

Gibt es eine Möglichkeit, das Explorer-Steuerelement stattdessen einfach wiederzuverwenden? Oder, wenn nicht, um auf einen Baum der Elemente zuzugreifen, die er anzeigen würde?

30
Thomas

Microsoft bietet eine exemplarische Vorgehensweise zum Erstellen einer Windows Explorer-Stilschnittstelle in C # .

Es gibt auch einige Beispiele für Code Project und andere Websites. Direkte Beispiele sind Explorer Tree , Mein Explorer , Dateibrowser und Advanced File Explorer , aber es gibt noch andere. Explorer Tree scheint aus meinem kurzen Blick am besten auszusehen.

Ich habe den Suchbegriff windows Explorer tree view C# in Google verwendet, um diese Links zu finden.

30
Jeff Yates

Es ist nicht so einfach, wie es scheint, eine solche Steuerung zu implementieren. Der Explorer arbeitet mit Shell-Elementen, nicht mit Dateisystemelementen (z. B. Steuerfeld, Druckerordner usw.). Wenn Sie es implementieren müssen, schlage ich vor, die Windows Shell-Funktionen unter http://msdn.Microsoft.com/en-us/library/bb776426(VS.85).aspx anzusehen.

1
munissor

Werfen Sie einen Blick auf Shell MegaPack Control Set. Es bietet Windows Explorer wie das Durchsuchen von Ordnern/Dateien mit den meisten Funktionen und Funktionen wie Kontextmenüs, Umbenennen, Ziehen und Ablegen, Symbole, Überlagerungssymbole, Miniaturansichten usw.

0
logicnp