Hy!
Habe ein einfaches Beispiel in VB geschrieben.
Zuerst müssen mal alle Laufwerke als Knoten angezeigt werden
tvwRoot ist der Name meines Treeviews.
Code:
Dim strDrive As String
tvwRoot.Nodes.Clear()
For Each strDrive In Directory.GetLogicalDrives()
With tvwRoot.Nodes.Add(strDrive)
.Nodes.Add(DUMMY)
End With
Next
Um die Ordner oder Dateien von einem Laufwerk im Treeview anzuzeigen, muss eine Methode
tvwRoot_BeforeExpand vorhanden sein.
In dieser Methode werden die Methoden
Code:
AddFolders(e.Node)
AddFiles(e.Node)
aufgerufen um die Ordner und Dateien im Treeview anzuzeigen.
Hier mal die Methode um die Daten anzuzeigen
Code:
Private Sub AddFiles(ByVal nod As TreeNode)
Dim strPath As String = nod.FullPath
Dim strFile As String
With nod
For Each strFile In Directory.GetFiles(strPath)
With nod.Nodes.Add(Path.GetFileName(strFile))
.Tag = ItemType.File
End With
Next
End With
End Sub
'Und hier wie man die Ordner anzeigt
Code:
Private Sub AddFolders(ByVal nod As TreeNode)
Dim strPath As String = nod.FullPath
Dim strDir As String
With nod
For Each strDir In Directory.GetDirectories(strPath)
With nod.Nodes.Add(Path.GetFileName(strDir))
.Tag = ItemType.Directory
.Nodes.Add(DUMMY)
End With
Next
End With
End Sub
Um mit den Ordnern bzw. Dateien weiterarbeiten zu können muss die Methode
tvwRoot_AfterSelect vorhanden sein. Hier fragt man den Typ des gewählten Knoten ab.
Code:
Try
With e.Node
Select Case .Tag
Case ItemType.File
'Hier kann die Datei Information in labels oder ähnl. angezeigt werden
'oder Bilder geladen werden
Case ItemType.Directory
'Wenn Ordner gewählt ist kann bsp. die Eigenschaft angezeigt werden
Dim di As New DirectoryInfo(.FullPath)
'Aufruf der Methode um die Eigenschaft anzuzeigen
DisplayFSIProperties(di)
End Select
End With
Catch exp As Exception
MessageBox.Show(exp.Message, Me.Text)
End Try
Hier die Methode um die Info´s vom Ordner auszulesen
Code:
Private Sub DisplayFSIProperties(ByVal fsi As FileSystemInfo)
'Zeige die Eigenschaften vom gewählten Ordner
lblCreationTime.Text = fsi.CreationTime.ToString
lblLastAccessTime.Text = fsi.LastAccessTime.ToString
lblLastWriteTime.Text = fsi.LastWriteTime.ToString
lblExtension.Text = fsi.Extension
lblName.Text = fsi.Name
lblTWPath.Text = fsi.FullName
End Sub
Ich hoffe das hilft ein wenig weiter. Wenn nicht kann ich auf wunsch das Bsp. hochladen.
ksk