Entwickler-Ecke
WinForms - FolderBrowserDialog und Multiselect?
csharper - Di 21.10.08 11:44
Titel: FolderBrowserDialog und Multiselect?
Hi,
kann ich bei einem FolderBrowserDialog, ähnlich wie bei einem OpenFileDialog, mehrere Ordner aussuchen?
Grüße
Christian S. - Di 21.10.08 13:48
Nein.
Sorry, die Antwort ist wirklich so kurz ...
csharper - Mi 22.10.08 08:11
Wie kann ich dann einen FolderBrowserDialog multiselect fähig machen? Möchte nicht nur einen Ordner aussuchen sondern mehrere gleichzeitig.
Th69 - Mi 22.10.08 09:34
Da dies eine gekapselte Windows-API-Komponente ist (SHBrowseForFolder), kann man diese nicht umändern.
Eine Alternative wäre z.B. ein TreeView, den man dann multiselectionsfähig macht (habe ich bei mir rumliegen und könnte dir schicken).
Den TreeView dann rekursiv mittels Directory.GetDirectories() füllen.
csharper - Mi 22.10.08 09:52
Oh das wär toll wenn du mir den Treeview mal schicken könntest. Ich schick dir mal ne PM mit meiner Adresse.
csharper - Mi 22.10.08 10:57
Kann ich das noch anders machen als über einen Treeview? Ich haben den FolderBrowserDialog an einen OpenFileDialog angefügt. Das bedeutet, dass ich erst einen OpenFileDialog habe, dort eine Datei aussuche und danach der FolderBrowserDialog angezeigt wird. Diesen möchte ich ja wie gesagt Multiselectionsfähig haben, da ich nicht alle Ordner durchsuchen möchte. Der Treeview wird ja dann auf der Oberfläche direkt angezeigt oder ?
Th69 - Mi 22.10.08 11:45
Ich habe dir eine PM geschickt (mit Anhang).
Trotzdem verstehe ich jetzt deine letzte Frage nicht.
Du suchst erst eine Datei aus und willst dann mehrere Ordner auswählen? Wofür?
Und den TreeView kannst du einfach in einen eigenen Dialog einbinden.
csharper - Mo 27.10.08 09:19
Sorry fürs späte Rückmelden, danke hab dein PM bekommen.
Also ich vergleiche den Inhalt von bestimmten Dateien die sich in den Ordnern befinden mit dem Inhalt von der ausgewählten Datei. Daher muss ich erst eine Datei aussuchen und dann den Ordner damit die Dateien verglichen werden können.
Dann schreibe ich mir praktisch einen eigenen Dialog und in diesem lasse ich dann den Treeview anzeigen stimmt das so?
Grüße
Th69 - Mo 27.10.08 10:56
Ok, jetzt habe ich es mit der Auswahl der Datei und den Ordnern verstanden.
Und ja, einfach einen eigenen Dialog schreiben und darauf dann den multi-select TreeView, evtl. ein Label und zwei Buttons 'OK' und 'Cancel' setzen.
Edit: Die Liste aller Laufwerke erhälst du mittels 'DriveInfo.GetDrives()'. Und für diese dann jeweils beim TreeView.AfterExpand-Ereignis dann Directory.GetDirectory() aufrufen (nicht schon am Anfang alle Ordner einlesen, das würde viel zu lange dauern, sondern erst wenn der User den Ordner 'öffnet').
csharper - Mo 27.10.08 17:06
Ok danke für den tipp, ich hätte wahrscheinlich die Ordner gleich zu beginn geöffnet. ;-)
csharper - Mi 29.10.08 15:46
Hi habs hinbekommen, hab den Treeview um Checkboxen erweitert, da muss ich es jetzt nur noch hinbekommen das wenn ich den übergeordneten Ordner anklicke auch die darunterliegenden Ordner markiert sind.
Aber danke für die Hilfe
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!