vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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 Knoten öffnen 
Autor: Dikn
Datum: 23.03.19 09:04

Hallo Manfred X!
Wenn auch verspätet (war wieder unterwegs) --> Vielen, vielen Dank!

Funktioniert jetzt wunderbar!!!

Imports System.IO
 
Public Class frmMain_1
  Dim IniNode As TreeNode = Nothing
 
  Public Class TreeNode
    Inherits System.Windows.Forms.TreeNode
    Public Path As String
  End Class
 
  Private Sub frmMain_1_Load (sender As Object, e As System.EventArgs) Handles _
    Me.Load
  Dim tn  As TreeNode = Nothing
  Dim nodeInfo As DirectoryInfo = New DirectoryInfo("C:\")
 
  'setDrives()
 
  For Each di As DirectoryInfo In nodeInfo.GetDirectories
    If di.Attributes = FileAttributes.Directory Then
      tn = AddNode(trvFolders.Nodes, di.Name, di.FullName)
 
      If Directory.GetDirectories(tn.Path).Length > 0 Then
        AddNode(tn.Nodes, ".", ".")
      End If
    End If
  Next
  End Sub
 
 
  Private Sub btnPresetting_Show_Click (sender As System.Object,  e As _
    System.EventArgs) Handles btnPresetting_Show.Click
   Call OpenNode(IniNode)
   End Sub
 
  Private Sub btnPresetting_Set_Click (sender As System.Object,  e As _
    System.EventArgs) Handles btnPresetting_Set.Click
  IniNode = trvFolders.SelectedNode '.Parent
  trvFolders.Focus
  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
 
  Private Sub OpenNode (nd As TreeNode)
  If nd Is Nothing Then Exit Sub
 
  Dim ndl As New List(Of TreeNode)
 
  With ndl
    .Add(nd)
 
    While .item(.Count - 1).Parent IsNot Nothing 
      .Add(.Item(.Count - 1).Parent)
    End While
 
    For i As Integer = .Count - 1 To 0 Step -1
     .Item(i).Expand()
    Next i
 
    trvFolders.SelectedNode = IniNode
    trvFolders.Focus
  End With
  End Sub
 
  Private Sub trvFolders_BeforeExpand (sender As Object, e As _
    TreeViewCancelEventArgs) Handles trvFolders.BeforeExpand
  If e.Node.Parent Is Nothing Then
    trvFolders.CollapseAll()
  Else
    For Each Node As TreeNode In e.Node.Parent.Nodes
      Node.Collapse()
    Next
  End If
 
  Dim tn As TreeNode = DirectCast(e.Node, TreeNode)
 
  If DirectCast(tn.Nodes(0), TreeNode).Path = "." Then
    createSubnodes(tn)
  End If
  End Sub
 
  Private Sub CreateSubnodes _
             (ByVal node As TreeNode)
  Dim d As New DirectoryInfo(node.Path)
  node.Nodes.Clear()
  Dim tn As TreeNode = DirectCast(node, TreeNode)
 
  Try
    For Each di As DirectoryInfo In d.GetDirectories
      'If getFiles(di.FullName) = True Then
        tn = AddNode(node.Nodes, Path.GetFileName(di.FullName), di.FullName)
        If Directory.GetDirectories(tn.Path).Length > 0 Then
          AddNode(tn.Nodes, ".", ".")
        End If
      'End If
    Next
 
  Catch ex As Exception
  End Try 
  End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Treeview Knoten schließen1.662Dikn05.02.19 13:00
Re: Treeview Knoten schließen912ModeratorDieter05.02.19 15:23
Re: Treeview Knoten schließen947Manfred X05.02.19 16:36
Re: Treeview Knoten schließen803Dikn05.02.19 17:32
Re: Treeview Knoten schließen876Manfred X07.02.19 15:02
Re: Treeview Knoten schließen893Dikn07.02.19 17:47
Re: Treeview Knoten schließen774Dikn19.03.19 13:01
Re: Treeview Knoten schließen776Manfred X19.03.19 16:40
Re: Treeview Knoten schließen759Dikn19.03.19 20:20
Re: Treeview Knoten öffnen1.182Manfred X19.03.19 21:25
Re: Treeview Knoten öffnen738Dikn23.03.19 09:04
Re: Treeview Knoten schließen725Dikn04.05.19 13:06

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