FolderBrowserDialog enttarnt: Alles, was Sie wissen wollten über den Ordner-Browser-Komponente aus. Net Framework

| by G. Himangi | November 22, 2008
Einführung
Die FolderBrowserDialog, verfügbar als Teil des. Net Framework, bietet eine Ordner-Browser-Komponente für Ihre C # und VB.Net Anwendungen. Die UI besteht aus einem modalen Dialogfeld, in dem ein Baum Steuerung zeigt alle Dateien und Ordner auf dem System. Der Benutzer kann dann durchsuchen und wählen Sie einen Ordner aus dem Baum. Der vollständige Pfad des ausgewählten Ordners wird dann zurückgegeben.

Grundlegende Verwendung
Um einen Ordner Explorer UI für den Benutzer, ein FolderBrowserDialog Instanz erstellt und die ShowDialog Methode aufgerufen wird. Dies zeigt die modalen Dialoges mit den Ordner-Browser-Steuerung (Baum) und ein OK und Abbrechen-Button. Wählt der Benutzer einen Ordner und klickt auf die Schaltfläche "OK", die ShowDialog Methode liefert DialogResult.OK und die SelectedPath Eigenschaft enthält den vollständigen Pfad des ausgewählten Ordners. Wenn der Benutzer auf die Schaltfläche "Abbrechen", die ShowDialog Methode liefert DialogResult.Cancel.

Weiterführende Funktionen
Die FolderBrowserDialog hat einige zusätzliche Funktionen wie zum Beispiel Begrenzung der Blick auf die Datei System, das dem Benutzer angezeigt, vor der Auswahl eines Ordners, wenn der Dialog ist in erster angezeigt und die Anzeige eine Taste, damit die Benutzer zum Erstellen eines neuen Ordners.

Die RootFolder Eigenschaft kann eingestellt werden, um den vollständigen Pfad zu dem Ordner, die angezeigt werden soll als die Wurzel des Baumes Kontrolle über den Ordner-Browser-Komponente. Zum Beispiel, wenn diese Eigenschaft ist auf Environment.SpecialFolder.Personal, nur aus dem Ordner "Meine Dokumente" werden in den Baum, so kann der Nutzer nur wählen Sie "Meine Dokumente" oder seine Sub-Ordner.

Vor der Darstellung der Ordner-Browser Kontrolle, die SelectedPath Eigenschaft kann eingestellt werden, um den vollständigen Pfad eines Ordners verursacht, dass Ordner zu pre-selected in den Ordner-Browser Baum. Zum Beispiel, wenn diese Eigenschaft ist auf "c:", die Knoten entsprechend dem Laufwerk C: ist pre-selected in den Baum, wenn der Dialog ist in erster angezeigt.

Wenn die ShowNewFolderButton Eigenschaft auf "true" gesetzt, dann, zusätzlich zu den Ordner-Browser Tree Control, und die OK-und Abbrechen-Schaltflächen, die Ordner-Browser-Dialog zeigt auch eine zusätzliche "Neuer Ordner"-Taste, die bei der geklickt, wird ein neuer Ordner erstellt im Rahmen des derzeit ausgewählten Ordner.

Einschränkungen
Während die Ordner-Browser-Komponente ist eine praktische Methode, um die Benutzer zu durchsuchen und wählen Sie Ordner, sie leidet an vielen Grenzen, einige von ihnen zur Verhinderung der Komponente von der praktischen Verwendung in Anwendungen.

Modal-Funktionalität
Die meisten sichtbaren Nachteil der Ordner-Browser-Komponente ist, dass sie ihre UI zeigt in Form eines modalen Dialoges. Wenn gezeigt, sperrt es den Rest der Anwendung, bis der Benutzer hat sich für ein Ordner. Solange das Dialogfeld angezeigt wird, keine Eingabe (Tastatur oder Maus-Klick) kann auftreten, es sei denn innerhalb der Dialogbox. Der Benutzer muss klicken Sie die OK-Taste oder auf "Abbrechen" vor-Input in das aufrufende Programm kann auftreten.

Dies ist eine sehr ärgerlich und die Begrenzung der Funktion des FolderBrowserDialog. Benutzer sind sehr wahrscheinlich zu sein irritiert und verärgert, wenn sie zur Interaktion mit einem modalen Dialog jedes Mal, wenn sie zu erkunden und wählen Sie einen Ordner. Eine nicht-modale UI-Kontrolle, kann innerhalb von ein der Anträge der eigenen Formulare oder Dialoge ist ein sehr viel benutzerfreundlicher Art der Darstellung der gleichen Benutzeroberfläche.

Nr. Virtual (Nicht-Datei-System)-Ordner
Die FolderBrowserDialog nicht erlaubt dem Benutzer, virtuelle (Nicht-Datei-System) Ordner wie das Control Panel oder Arbeitsplatz. Es erlaubt nur dem Benutzer, wählen Sie eine Datei-System-Pfad wie "C:" oder "c: windows".

Keine Dateien
Die Komponente funktioniert nicht zulassen, dass die Benutzer zu den gewünschten Dateien. Dies ist ein großer Nachteil, da gibt es viele Umstände, unter denen der Benutzer Mai müssen, um eine Datei, während immer noch über den UI-Baum zu navigieren Sie zu dieser Datei.

Limited Wahl der RootFolder
Die Root-Ordner der Ordner-Browser Kontrolle kann nur auf eine der "besonderen Ordner" definiert von Windows wie die "Eigene Dateien" oder "My Computer". Dies ist eine wichtige Einschränkung, da dies bedeutet, dass Sie nicht die Root-Ordner, um einen Weg, wie das "d:"-Laufwerk.

Nr. Kontrollkästchen
Der Ordner Explorer-Baum in der FolderBrowserDialog kann nicht zeigen Kontrollkästchen neben Knoten. Fähigkeit zu zeigen, Multi-State-Kontrollkästchen kann ein sehr Griff-Funktion für eine solche Kontrolle.

Kein Filter
Die FolderBrowserDialog hat keine Unterstützung für das Filtern. Zum Beispiel ist es nicht möglich, um nur Netzwerk-Ordner oder nur freigegebene Ordner oder nur Ordner beginnend mit der Zeichenfolge "Dokumente" oder Dateien mit einer bestimmten Endung.

Nr. Custom Controls
Bei Verwendung der FolderBrowserDialog, Sie sind nur beschränkt auf dem aktuellen Ordner Explorer Tree Control, das OK, "Abbrechen" und "Neuer Ordner"-Tasten und die Beschreibung Etikett. Es ist nicht möglich, Custom Controls, um das Dialogfeld zu schließen. Dies kann nützlich sein, in vielen Fällen wie zum Beispiel, wenn Sie wollen zeigen, ein Thumbnail / Vorschau der ausgewählten Datei / Ordner oder jede Art von zusätzlichen Informationen.

Nr. Aussehen Kontrolle
Das Erscheinungsbild der FolderBrowserDialog und seiner Kontrollen kann nicht geändert werden. Weder können Attribute der einzelnen Ordner in den Ordner Explorer Kontrolle geändert werden. Zum Beispiel ist es nicht möglich, ändern Sie die Hintergrundfarbe des Tree Control oder, um die Schriftart und Farbe der einzelnen Knoten / Ordner in der Baumansicht.

Nr. Custom Artikel
Die FolderBrowserDialog können nicht angezeigt Externer / benutzerdefinierte Elemente in dem Ordner Explorer-Baum. Zum Beispiel kann es notwendig sein, um Elemente aus einem FTP-Standort zusätzlich zu den Datei-System Elemente. Dies ist nicht möglich mit dem FolderBrowserDialog.

Nr. Lockdown
Die FolderBrowserDialog ermöglicht ungehinderten Operationen auf Ordner. Der Benutzer kann Ordner umbenennen, tun Drag-Drop-Operationen und die Kontext-Menü aufrufen und verschiedene Operationen. In vielen Fällen kann es erforderlich sein, zu begrenzen oder ganz verhindern, dass diese potenziell gefährliche und irreversible Vorgänge, die jedoch FolderBrowserDialog gibt keinen Weg, um dies zu tun.

Jenseits der FolderBrowserDialog: Die FolderView Kontrolle
Die FolderView Control bringt ein Windows Explorer-Ordner wie Browser-Komponente, um Ihre Anwendungen mit AutoUpdate, dragdrop, Symbole, contextmenus, Nicht-Datei-System Elemente, Standard-Schlüssel-Handhabung, infotips und Umbenennung. Es verfügt über leistungsstarke Verhalten Kontrolle und Anpassung Funktionalität, die es Miles Ahead von Windows Explorer, indem Sie Funktionen wie Filterung, Checkboxen, benutzerdefinierte Elemente, mehrere Root-Knoten, dragdrop Kontrolle und Anpassung von Standard-contextmenus, displaynames, Icons und infotips.

Die FolderView Kontrolle ist ein UI-Kontrolle, können gelöscht werden direkt in Ihre eigene Formulare und Dialoge. Eine nicht-modale Datei & Ordner Browsen / Auswahl Erfahrungen direkt in Ihre eigene Dialoge und Formen ist etwas, dass die Nutzer zu schätzen und finden Sie intuitiv und einfach.

Darüber hinaus FolderView überwindet alle Grenzen der FolderBrowserDialog und bietet weit mehr und erweiterten Funktionen und Funktionalität als die FolderBrowserDialog. Die folgende Tabelle ist ein schneller Vergleich der FolderView Control mit der FolderBrowserDialog.

Drop-In Windows Explorer-Ordner wie Browser-Funktionalität.
FolderView Control: Ja
FolderBrowserDialog: Modal UI. Die Komponente kann nicht gelöscht werden in Ihrem eigenen Form.

Vollständige Windows-Explorer-Funktionalität auch eine Datei / Ordner Browsen ListView (ähnlich wie Windows Explorer die rechte Straßenseite) und ein Laufwerk Auswahl Kontrolle (ähnlich wie der Windows Explorer Adressleiste)
FolderView Control: Ja. Im Rahmen der Shell Megapack
FolderBrowserDialog: Keine

Fähigkeit, wählen Sie virtuellen (Nicht-Datei-System)-Ordner
FolderView Control: Ja
FolderBrowserDialog: Keine

Fähigkeit, alle Ordner als root.
FolderView Control: Ja
FolderBrowserDialog: Keine

Fähigkeit zu zeigen, Dateien sowie Ordner.
FolderView Control: Ja
FolderBrowserDialog: Keine

Multi-State-Kontrollkästchen
FolderView Control: Ja
FolderBrowserDialog: Keine

Filtering-Funktionen
FolderView Control: Ja
FolderBrowserDialog: Keine

Custom Controls
FolderView Control: Ja
FolderBrowserDialog: Keine

Appearance Control
FolderView Control: Farben und Aussehen der Kontrolle als Ganzes und der einzelnen Ordner / Dateien können geändert werden.
FolderBrowserDialog: Nein

Benutzerdefinierte Objekte
FolderView Control: Ja
FolderBrowserDialog: Keine

Verhindern, dass das Umbenennen, Drag-Drop, Kontextmenüs
FolderView Control: Ja. Für alle Ordner oder auf einer Pro-Ordner Grundlage.
FolderBrowserDialog: Keine

Mehrere Root-Ordner
FolderView Control: Ja
FolderBrowserDialog: Keine

Änderung der Standard-Display-Namen, Symbole, Overlay-Symbole, infotip, etc.
FolderView Control: Ja
FolderBrowserDialog: Keine

Einfach und leicht zu bedienen API
FolderView Control: Ja
Ungeschickt, unflexibel API

Access vollständige Informationen einer Datei / Ordner einschließlich seiner displayname, fullpath, checkstate-, Auswahl-Staat und Attribute wie, ob es sich um eine Verknüpfung, geteilt, versteckte, readonly, Datei-und Ordner.
FolderView Control: Ja
FolderBrowserDialog: Keine

Verhindern der Anzeige contextmenus für alle Ordner mit Hilfe eines einfachen Eigentum oder auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Dragdrop verhindern, dass für alle Ordner mit Hilfe eines einfachen Eigentum oder auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Zulassen / Disallow Umbenennung für alle Ordner mit Hilfe eines einfachen Eigentum oder auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Zulassen / Disallow Auswahl für alle Ordner mit Hilfe eines einfachen Eigentum oder auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Zulassen / Disallow Ausbau / Zusammenbruch auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Änderung der Standard-Drag-Aktionen während dragdrop (z. B. aus Kopieren nach Verschieben)
FolderView Control: Ja
FolderBrowserDialog: Keine

Control Kontrolle / deaktivieren auf einer Pro-Ordner Grundlage.
FolderView Control: Ja
FolderBrowserDialog: Keine

Verhindern, dass Standard-Ausführung von Shell-Kommandos (zB Öffnen, Ausschneiden, Immobilien, etc. in Reaktion auf Tastatureingaben oder über das Kontext-Menü) für alle Ordner mit Hilfe eines einfachen Eigentum oder auf einer Pro-Ordner werden mit einer Veranstaltung.
FolderView Control: Ja
FolderBrowserDialog: Keine

Anzeigen / verbergen versteckte Ordner mit Hilfe eines einfachen Eigentum.
FolderView Control: Ja
FolderBrowserDialog: Keine

Anzeigen / Ausblenden virtuellen Ordner (z. B. Control Panel) mit Hilfe eines einfachen Eigentum.
FolderView Control: Ja
FolderBrowserDialog: Keine

Aufgelistet werden alle Ordner in FolderView.
FolderView Control: Ja
FolderBrowserDialog: Keine

Aufgelistet werden alle Ordner nach Ordner-Hierarchie-Struktur.
FolderView Control: Ja
FolderBrowserDialog: Keine

Shell-Kommandos ausführen (zB Ausschneiden, Löschen, etc) auf Ordner.
FolderView Control: Ja
FolderBrowserDialog: Keine

Junior-Entwickler definiert Daten mit jedem Ordner
FolderView Control: Ja
FolderBrowserDialog: Keine

Die FolderView Kontrolle (und Shell Megapack) ist in zwei Editionen erhältlich:

. NET Edition: Für die Verwendung in. Net Entwicklung mit Windows Forms, WPF und ASP.Net

ActiveX-Edition: Für die Verwendung in Anwendungen, die mit Visual C + + / MFC / ATL, Visual Basic 6, VBA (Access, Word, Excel, AutoCAD, etc.), Borland Delphi und Borland Builder, und HTML / ASP-Seiten.

Original-Artikel: http://www.ssware.com/ar ... mework.htm

Article Source: http://www.articleset.com



About the Author

G Himangi is a Senior Software Developer at LogicNP Software ( http://www.ssware.com ) and is a member of LogicNP Software's component and controls development team. » Read more articles by G. Himangi
You are welcome to publish or reprint this article free of charge, provided: