stammbaum des systems in treeview

erik s.

Erfahrenes Mitglied
Hi,

also ich möchte den Stammbaum des Systems in ein Treeview verpacken, sodass nur die Ordner angezeigt werden. Habe ich schon oft in Programmen gesehen, habe aber bisher keinen Lösungsansatz gefunden, außer vom Arbeitsplatz aus jeden Ordner /Unterordner nach anderen (Unter-)Ordnern zu durchsuchen (etwa mit einer rekursiven Methode).
Ziel ist es, dass sich der Anwender einen Ordner im System aussucht, mit dem ich dann weiterarbeiten lasse.
Bsp.:

|-Arbeitsplatz
| |-C:\
| | |-Dokumente und Einstellungen
| | | |-Desktop
| | | |-Cookies
| | |-Windows
| |-D:\
| | |-Bilder
| | |-Games
| | |-Programme
|+Desktop

usw. und so fort .. naja, ich denke, ihr wisst, wie das aussehen soll.

Da meine Wissensbasis über C# aber auch noch nicht so riesig ist, könnte es unter Umständen noch eine andere Lösung geben.
Falls dies der Fall ist, wäre ich für jede Hilfe sehr dankbar.

MfG
 
Zuletzt bearbeitet:
Hallo.

Mir fällt im Moment auch kein anderer Weg ein,
nur dass ich zuerst mal nur die Ordner auf 'erster' Ebene einlesen würde.
Und die weiteren Ordner erst nach einem Klick auf das Plus einlesen.
Ist evt. effizienter, es sei denn du willst schon alle auf einmal drinnen haben.

Mfg,
Alex
 
Gut, also doch so.

Um gleich mal fortzufahren : Welche Klasse gibt mir das Wurzelverzeichnis (sprich Arbeitsplatz) ?
Bzw. wie bekomme ich heraus, wie viele Datenträger existieren und welche Laufwerksbuchstaben diese haben ?
Mit wem weiteren dürfte ich erstmal klar kommen (DirectoryInfo und FileInfo ..).

Danke, MfG
 
Es gibt ein Control, das nennt sich - ich glaube - OpenFolderDialog... scheint aber irgendwie bei mir jetzt so hier verschwunden zu sein, find's jedenfalls so auf Anhieb nicht. Hab's schon verwendet, könnte sein, daß es das erst ab VS.NET 2003 gibt oder so, daß ich das aktuell deshalb hier nicht finden tu, weil ich hier noch die "alte" Version von VS.NET habe. Aber schau dich mal um nach dem OpenFolderDialog (oder so ähnlich). Das wäre ja genau das, was du suchst, denke ich.

Gruß, Hendrik
 
Du hast nicht ganz unrecht aber das Problem ist das es kein OpenFolderDialog gibt es gibt nur ein OpenFileDialog oder ich habe was übersehen.

Und damit geht das glaub ich nicht, zumindest habe ich es nicht geschaft.

Wenn jemand ne lösung hat immer her damit ;)

MfG mgd-one
 
Hi,

eben nach so etwas habe ich auch schon Ausschauh gehalten aber nichts derartiges gefunden, wobei dieser "OpenFolderDialog" geradezu ideal wäre ;)

MfG erik
 
Erinnert mich mal dran, daß ich zuhause nachher mal schau, wie ich das gemacht hab. Ich hab diesen OpenFolderDialog oder wie das Ding heißt definitiv schon irgendwo verwendet. Ich schau nachher mal! Kann doch nicht sein, daß es das nicht gibt, hab das doch nicht geträumt. :p
 
Ja, diesen OpenFolderDialog gibt es, allerdings erst seit dem .net Framework 1.1.
In 1.0 ist er leider nicht enthalten, warum kann ich leider nicht sagen.

Im Anhang findet ihr einen kleine OpenFileDialog den ich jetzt schnell gemacht habe, solltet ihr das .net Framework 1.0 benutzen müssen. (Wegen VisualStudio.net 2002 oder warum auch immer)
Ihr könnt ihn gerne uneingeschränkt nutzen, verändern etc. Wie ihr wollt.

Verwendung:
Code:
using cwdev; // mein Namespace ;)
...
OpenFolderDialog openFolderDialog = new OpenFolderDialog();
openFolderDialog.ShowDialog();
DialogResult dialogResult = openFolderDialog.DialogResult;

if (dialogResult == DialogResult.OK)
{
   System.Console.WriteLine(openFolderDialog.DirectoryPath);
}
...

Mfg,
Alex

// Edit:
Dieser Dialog listet nur die Laufwerke und nicht die speziellen Ordner wie den Desktop und Eigene Dateien.

// Edit2:
Hab gerade bemerkt, dass ich das Projekt falsch benannt habe. Keine Sorge, es steckt das richtige drinnen.
 

Anhänge

  • openfiledialog.tar.gz
    14,8 KB · Aufrufe: 46
Zuletzt bearbeitet:
Stimmt, das ist mir dann auch aufgefallen. Da war ich allerdings schon feierabendfertig und konnt's nicht mehr posten. Sorry.

Also viel Spaß damit! ;)

Gruß, Hendrik
 

Neue Beiträge

Zurück