vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem · Ordner & Verzeichnisse   |   VB-Versionen: VB.NET12.02.07
Explorer TreeView für VB.NET

Mit dieser Klasse für VB.NET lässt sich mit wenig Aufwand ein Explorer TreeView Control erstellen.

Autor:   Roland WutzkeBewertung:  Views:  34.573 
www.vb-power.netSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Nachfolgend möchten wir Ihnen eine Komponenten-Klasse für VB.NET vorstellen, die Ihnen ein Explorer TreeView zur Verfügung stellt - und das alles mit nur wenigen Zeilen Code...

Die Klasse stellt die überladene Methode ShowTree bereit, mit der Sie das TreeView initialisieren. Sie habe dabei folgende Möglichkeiten:

  • ShowTree() - Alle Laufwerke im System
  • ShowTree(UNC oder Pfad) - angegebenes Verzeichnis
  • ShowTree(DriveType) - nur spezielle Laufwerke

Nachfolgend die Klasse ExpTree:
Fügen Sie Ihrem Projekt eine neue Klasse hinzu, und kopieren den Code in das Klassenmodul. Erstellen Sie einmal das Projekt, um so die Komponente zu erzeugen. VB.NET stellt die neue Komponente automatisch in die ToolBox oben ein. Sie können jetzt die so neu erzeugte Komponente auf Ihre Form ziehen und damit wie gewohnt arbeiten.

' **************************************************************
' *
' *   Explorer TreeView Komponenten-Klasse (VB.Net 2005)
' *
' *   Diese Klasse stellt ein Explorer TreeView zur Vergügung.
' *   Mit der überladenen Methode "ShowTree" wird das TreeView
' *   initialisiert.
' *
' *   Februar 2007 - VB-Power.net
' *   http://www.vb-power.net/
' *
' **************************************************************
 
Option Explicit On
Option Strict On
 
Imports System.IO
 
Public Class ExpTree
  Inherits System.Windows.Forms.TreeView
 
  Public Sub New()
    Me.Sort()
    Me.HotTracking = True
    Me.HideSelection = False
  End Sub
 
  Public Sub ShowTree()
    For Each d As DriveInfo In DriveInfo.GetDrives
      Me.ShowTree(d.Name)
    Next 
  End Sub
 
  Public Sub ShowTree(ByVal Path As String)
    Dim nNode As New TreeNode(Path)
    Me.Nodes.Add(nNode)
    Me.FillTreeNode(nNode)
  End Sub
 
  Public Sub ShowTree(ByVal DriveType As DriveType)
    For Each d As DriveInfo In DriveInfo.GetDrives
      If d.DriveType = DriveType Then
        Me.ShowTree(d.Name)
      End If
    Next 
  End Sub
 
  Private Sub FillTreeNode(ByVal dNode As TreeNode)
    Try
      Dim d As New DirectoryInfo(dNode.FullPath)
      For Each di As DirectoryInfo In d.GetDirectories
        Dim nNode As New TreeNode(di.Name)
        dNode.Nodes.Add(nNode)
        nNode.Nodes.Add("")
      Next 
    Catch : End Try
  End Sub
 
  Protected Overrides Sub OnBeforeExpand( _
    ByVal e As System.Windows.Forms.TreeViewCancelEventArgs)
 
    Dim n As TreeNode = CType(e.Node, TreeNode)
    If n.Nodes(0).Text = "" Then
      Me.BeginUpdate()
      n.Nodes.Clear()
      Me.FillTreeNode(n)
      Me.EndUpdate()
    End If
    MyBase.OnBeforeExpand(e)
  End Sub
 
End Class

In unserem Demoprogramm zeigen wir Ihnen, wie Sie mit dem TreeView einen einfachen Explorer realisieren können.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.