vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Anfänger Teil 23 
Autor: Frank1971
Datum: 07.09.06 14:08

Hab mal ein wenig in den 1001 Samples von Microsoft gestöbert und folgendes Listing gefunden:
Der Code ließt immer nur den aktuelle Ordner nur Files von der Festplatte und schreibt sie dann in das TreeView:
Hoffe es hilft dir weiter.
 
ub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load

Dim Drive As String
Dim tn As TreeNode

Dim Verzeichnis As IO.DirectoryInfo

' Wiedergabe der logischen Laufwerke des PCs
For Each Drive In Environment.GetLogicalDrives

' Laufwerk wird als Rootknoten dem Treeview hinzugefügt
tn = TreeView1.Nodes.Add(Drive)

' In der Tag-Eigenschaft kann man alle möglichen Daten
' und Objekte speichern. Hier wäre z.B beim Erstellen
' eines Explorers der Pfad von Interesse, um z.B im
' ListView die Daten anzuzeigen. Wir brauchen hier aber
' die Pfadangabe für das spätere Hinzufügen von
' Unterverzeichnisse im Treeview
tn.Tag = Drive

' Falls das Laufwerk Unterverzeichnisse besitzt,
' soll das "+" Zeichen eingeblendet werden
Try
For Each Verzeichnis In New _
IO.DirectoryInfo(Drive).GetDirectories

' Hinzufügen eines Dummyknotens
tn.Nodes.Add(Verzeichnis.Name)

' Es reicht ein ermitteltes Unterverzeichnis
' aus, um das "+" zu erzeugen"
Exit For
Next
Catch
End Try
Next
End Sub

Private Sub trvVerzeichnis_BeforeExpand( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) _
Handles TreeView1.BeforeExpand

' Bevor der Knoten expandiert, ermitteln wir den
' Knoten. Wir können dann vorab alle Unterverzeichnisse
' und deren Unterverzeichnisse (es wird aber nur das
' erste Unterverzeichnis eingelesen) über die Prozedur
' Read_Directory einlesen. Beim anschliessenden Expandieren
' des(Knoten) werden dann bei Vorhandensein von
' Unterverzeichnissen die "+" 'Zeichen angezeigt.

Dim tn As TreeNode

tn = e.Node
AktuellerKnoten = tn
Read_Directory(tn)

End Sub

Private Sub OpenDialog(ByVal Knoten As TreeNode)
Dim tn, xn As TreeNode

End Sub
Private Sub Read_Directory(ByVal Knoten As TreeNode)
' Erstellen eines DirectoryInfo-Objektes, um
' die Unterverzeichnisse einzulesen.
' Die benötigte Pfadangabe zum Erzeugen des Objekts
' ermitteln wir aus der Tag-Eigenschaft des Knotens
' (siehe Form1_Load). Wichtig ist, dass der Inhalt
' der Tag-Eigenschaft erst mit der Methode CType in
' den entsprechenden Typ konvertiert werden muss!!
Try

Dim Verzeichnis As New _
IO.DirectoryInfo(CType(Knoten.Tag, String))

Dim Unterverzeichnis As IO.DirectoryInfo
Dim Dummyverzeichnis As IO.DirectoryInfo

Dim tn, xn As TreeNode

' Ein Flackern des Treeview soll vermieden werden
TreeView1.BeginUpdate()

' Der zuvor erzeugte Dummyknoten wird wieder entfernt,
' da dieser beim Einlesen sonst doppelt vorhanden wäre
'Knoten.Nodes.Clear()

Try
Me.Cursor = Cursors.WaitCursor

For Each Unterverzeichnis In Verzeichnis.GetDirectories
tn = Knoten.Nodes.Add(Unterverzeichnis.Name)
tn.Tag = Unterverzeichnis.FullName

' Falls das Unterverzeichnis weitere Unterverzeichnisse
' besitzt, soll das "+" Zeichen eingeblendet werden
Try
For Each Dummyverzeichnis In New _
IO.DirectoryInfo(Unterverzeichnis.FullName).GetDirectories

' Hinzufügen eines Dummyknotens
tn.Nodes.Add(Verzeichnis.Name)

' Es reicht ein ermitteltes Unterverzeichnis
' aus, um das "+" zu erzeugen"
Exit For
Next

Catch
End Try
Next
Catch
End Try
Catch ex As Exception

End Try
TreeView1.EndUpdate()
Me.Cursor = Cursors.Default
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anfänger Teil 231.326christoph.f05.09.06 14:51
Re: Anfänger Teil 23771Frank197105.09.06 15:20
Re: Anfänger Teil 23778christoph.f07.09.06 13:31
Re: Anfänger Teil 23789Frank197107.09.06 14:08
Re: Anfänger Teil 23765christoph.f07.09.06 18:15
Re: Anfänger Teil 23700christoph.f07.09.06 20:41
Re: Anfänger Teil 23733Frank197108.09.06 12:45
Re: Anfänger Teil 23906christoph.f09.09.06 13:05
Teil 2:748Frank197107.09.06 14:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel