vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Fortgeschrittene
Re: TreeView - nur Ordner anzeigen 
Autor: Dikn
Datum: 22.01.19 12:53

So funktioniert's:


' ImageList1 Images: 0 (Symbol Ordner)
'                    1 (Symbol geöffneter Ordner)
 
' Treeview1 - ImageList = "ImageList1"
'           - ImageIndex = 0
'           - SelectedImageIndex = 1
 
Imports System.IO
 
Public Class Form4
  Dim strDrv As String = "C:\"
 
  Public Class TreeNode
    Inherits System.Windows.Forms.TreeNode
    Public Path As String
  End Class
 
  Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles _
    Me.Load
    Dim tn As TreeNode = Nothing
    Dim nodeinfo As IO.DirectoryInfo = New IO.DirectoryInfo(strDrv)
 
    For Each di As DirectoryInfo In nodeinfo.GetDirectories()
      If di.Attributes = FileAttributes.Directory Then
        tn = AddNode(TreeView1.Nodes, di.Name, strDrv & di.Name)
        If Directory.GetDirectories(di.FullName).Length > 0 Then AddNode( _
          tn.Nodes, ".", ".")
      End If
    Next
  End Sub
 
  Private Sub TreeView1_BeforeExpand (sender As Object, e As _
    System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand
    Dim tn As TreeNode = DirectCast(e.Node, TreeNode)
 
    If DirectCast(tn.Nodes(0), TreeNode).Path = "." Then Call CreateSubnodes(tn)
  End Sub
 
  Private Sub CreateSubnodes (ByVal node As TreeNode)
    Dim d As New DirectoryInfo(node.Path)
 
    node.Nodes.Clear()
 
    For Each di As DirectoryInfo In d.GetDirectories
      If di.Attributes = FileAttributes.Directory Then
        Dim tn As TreeNode = DirectCast(node, TreeNode)
        tn = AddNode(node.Nodes, Path.GetFileName(di.FullName), di.FullName)
        If Directory.GetDirectories(di.FullName).Length > 0 Then AddNode( _
          tn.Nodes, ".", ".")
        tn.ImageIndex = 0
        tn.SelectedImageIndex = 1
      End If
    Next
  End Sub
 
  Private Function AddNode (ByVal nodeCollection As TreeNodeCollection, ByVal _
    Caption As String, ByVal path As String) As TreeNode
    Dim tn As New TreeNode()
    tn.Text = Caption
    tn.Path = path
    nodeCollection.Add(tn)
    Return tn
  End Function
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TreeView - nur Ordner anzeigen1.139Dikn18.01.19 12:57
Re: TreeView - nur Ordner anzeigen645HenryV18.01.19 16:12
Re: TreeView - nur Ordner anzeigen597Dikn19.01.19 11:52
Re: TreeView - nur Ordner anzeigen576Dikn22.01.19 12:53

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-2024 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