Entwickler-Ecke

WinForms - Laufwerke - Dateien und Ordner in TreeView anzeigen


Henkler92 - Mi 13.10.10 10:03
Titel: Laufwerke - Dateien und Ordner in TreeView anzeigen
Schönen guten morgen,
ich mache zur Zeit ein Parktikum und ich soll ein C# Programm erstellen was mir auf einem gewählten Laufwerk(Was ich in der DriveListBox auswähle) alle Ordner, Unterordner und die Dateien in den Ordnern anzeigt (DirListBox).

Nur leider hab ich keine Ahnung wie ich das machen soll / muss, da ich erst seit 2 Tagen mit C# Programmiere :-(

Ich habe schon im Internet gesucht aber ich finde nix, was ich wirklich verstehe....

Framework 3.5
Visual Studio 2008 Pro / Englisch

Bitte um Hilfe


LSanchez - Mi 13.10.10 10:32

sehe: http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx

Gruß

Luis Sanchez


Henkler92 - Mi 13.10.10 10:48

ouh man.....
Danke für deine Hilfe, aber ich blicke da nicht richtig durch


LSanchez - Mi 13.10.10 12:15

Noch eine kleine Hilfe :

Liste (listBox1) der Laufwerke :

foreach (string s in Environment.GetLogicalDrives())
listBox1.Items.Add(s);


Liste (listBox2) der Unterverzeichnisse von einem Verzeichnis (MyVerzeichnis):

DirectoryInfo verz = new DirectoryInfo(MyVerzeichnis);
foreach (DirectoryInfo Unterverz in verz.GetDirectories())
listBox2.Items.Add(Unterverz.Name);



Liste (listBox3) der Dateien von einem Verzeichnis (MyVerzeichnis):

DirectoryInfo verz = new DirectoryInfo(MyVerzeichnis);
listBox3.Items.Clear();
listBox3.Items.AddRange(verz.GetFiles());

Gruß

Luis Sanchez


Henkler92 - Mi 13.10.10 13:37

ok das hilft mir jetzt weiter, muss ich den dazu noch irgend eine klasse implementieren? weil er zeigt mir fehler bei DirectoryInfo an, sorry ich bin neuling :-)


LSanchez - Mi 13.10.10 13:54

DirectoryInfo gehört zum System.IO-Namespace.

Verwende:

using System.IO;


Gruß

Luis Sanchez


Henkler92 - Mi 13.10.10 14:11

ok danke, ist es denn damit jetzt möglich folgende punkte zu erstellen:

- Methode zum Suchen Aller Datein/verzeichnisse ab dem übergebenen Rootdirectory erstellen
- Suchergebnisse in einer Struktur zurückgeben
- TreeView mit dem Suchergebnissen füllen

???


LSanchez - Mi 13.10.10 16:42

Hier bekommst du ein kleines Beispiel, verwende die Prozedur DateiVerzeichnisSuche.

Beispiel: DateiVerzeichnisSuche(@"C:\Programme", "*.*");

Gruß

Luis Sanchez



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
        private void VerzeichnisInhaltHinzufuegen(TreeNode VerzeichnisNode, string Verzeichnis, string SuchMaske)
        {
            DirectoryInfo verz = new DirectoryInfo(Verzeichnis);
            foreach (DirectoryInfo unterVerz in verz.GetDirectories())
            {
                TreeNode unterVerzNode = new TreeNode(unterVerz.Name);
                VerzeichnisNode.Nodes.Add(unterVerzNode);
                VerzeichnisInhaltHinzufuegen(unterVerzNode, unterVerz.FullName, SuchMaske);
            }
            foreach (FileInfo datei in verz.GetFiles(SuchMaske))
            {
                TreeNode dateiNode = new TreeNode(datei.Name);
                VerzeichnisNode.Nodes.Add(dateiNode);
            }
               
        }

        private void DateiVerzeichnisSuche(string Verzeichnis, string SuchMaske)
        {
            treeView1.Nodes.Clear();
            TreeNode rootNode = new TreeNode(Verzeichnis);
            treeView1.Nodes.Add(rootNode);
            VerzeichnisInhaltHinzufuegen(rootNode, Verzeichnis, SuchMaske);
        }


xxxx