vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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 - Ein- und Umsteiger
Alle Knoten im Treeview Durchlaufen 
Autor: anpoit00
Datum: 10.11.08 17:24

Hi
Ich will in einem Treeview alle knoten durchlaufen und wenn ein Knoten geöffnet wurde sollte ein anderes Image diesem Knoten zugewiesen (Verzeichnis offen).
Ich habe mit der Methode DrawNode probiert. Allerdings ist es mit nicht gelungen ein Bild korrekt zu zeichnen. Hat jemand eine Idee, wie man es anders lösen könnte?
Danke
Public Class ExpTree
  Inherits System.Windows.Forms.TreeView
 
 
  Dim myImageList As New ImageList()
  Dim F1 As OpenFileDlg
 
 
  Public Sub New()
 
    Me.Sort()
    Me.HotTracking = True
    Me.HideSelection = False
    Me.ImageList = myImageList
 
    myImageList.Images.Add(Image.FromFile("C:\Dokumente und" & _
      "Einstellungen\user71\Eigene Dateien\Eigene Bilder\folder_closed.gif"))
    myImageList.Images.Add(Image.FromFile("C:\Dokumente und" & _
    "Einstellungen\user71\Eigene Dateien\Eigene Bilder\folder_open.gif"))
    myImageList.Images.Add(Image.FromFile("C:\Dokumente und" & _
    "Einstellungen\user71\Eigene Dateien\Eigene Bilder\hard-disk.gif"))
    myImageList.Images.Add(Image.FromFile("C:\Dokumente und" & _
    "Einstellungen\user71\Eigene Dateien\Eigene Bilder\cd_rom.gif"))
 
    ' Set the TreeView control's default image and selected image indexes.
    Me.ImageIndex = 0
    Me.SelectedImageIndex = 1
 
 
  End Sub
 
 
  Public Sub SetRef(ByRef F1 As OpenFileDlg)
    Me.F1 = F1
  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, 0, 1)
 
    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, 0, 1)
        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.IsExpanded Then
      n.ImageIndex = 1
    Else
      n.ImageIndex = 0
    End If
 
 
    If n.Nodes(0).Text = "" Then
      'Me.BeginUpdate()
      n.Nodes.Clear()
      Me.FillTreeNode(n)
      Me.EndUpdate()
    End If
 
    MyBase.OnBeforeExpand(e)
 
  End Sub
 
 
 
  Private Sub ExpTree_AfterSelect(ByVal sender As Object, ByVal e As _
    System.Windows.Forms.TreeViewEventArgs) Handles Me.AfterSelect
 
    Dim dNode As TreeNode = CType(e.Node, TreeNode)
    Dim d As New DirectoryInfo(dNode.FullPath)
    F1.aktListe(dNode.FullPath)
 
  End Sub
 
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alle Knoten im Treeview Durchlaufen5.094anpoit0010.11.08 17:24
Re: Alle Knoten im Treeview Durchlaufen3.534Theo_kkv23.12.09 08:36

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