vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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
Treeview - Nodes richtig selektieren 
Autor: Volker Bunge
Datum: 09.05.14 13:26

Hallo zusammen,

ich habe hier http://www.vbarchiv.net/forum/id22_i95421t95421_treeview-verzeichnis-anzeigen-in-denen-auch-dateien-sind.html schon geschrieben, dass ich ein Programm schreibe, welches mir nur Verzeichnisse mit bestimmten Dateitypen (Bsp. MP3) anzeigt.

Soweit läuft das Programm auch. Jetzt habe ich aber ein Problem mit der Treeviewdarstellung der Verzeichnisse.

Es gibt folgende Situation

F:\
...Fertig umbenannt
......Hörbuch
.........Die Drei Fragezeichenkids
............Die Drei Fragezeichenkids - Folge 001 - Hörbuch
............Die Drei Fragezeichenkids - Folge 002 - Hörbuch
............Die Drei Fragezeichenkids - Folge 003 - Hörbuch
............Die Drei Fragezeichenkids - Folge 001
............Die Drei Fragezeichenkids - Folge 002
............Die Drei Fragezeichenkids - Folge 003
......Hörspiel
.........Die Drei Fragezeichenkids
............Die Drei Fragezeichenkids - Adventskalender 2012

Die drei Zeilen von Hörbuch
............Die Drei Fragezeichenkids - Folge 001
............Die Drei Fragezeichenkids - Folge 002
............Die Drei Fragezeichenkids - Folge 003

sind eigentlich Hörspiele.

Hier mein Code

Sub Treeview_Anzeigen_1(Startverzeichnis As String)
 
        TreeView1.Nodes.Clear()
 
        TreeView1.Visible = True
        ' Aus dem Startverzeichnis den Laufwerksbuchstaben herausfinden und 
        ' diesen als Startnodes festlegen
        Dim nNode As New TreeNode
        Dim AltNode As New TreeNode
 
 
        nNode.Name = Mid(Startverzeichnis, 1, 3)
        nNode.Text = Mid(Startverzeichnis, 1, 3)
        nNode.Tag = Mid(Startverzeichnis, 1, 3)
 
        TreeView1.Nodes.Add(nNode)
        TreeView1.SelectedNode = TreeView1.TopNode
        tbox_SucheNode.Text = nNode.Text
 
        For Each Verz In LBox_Gefunden_Verzeichnisse.Items
            Dim VerzeichnissArray() As String = Split(Verz, "\")
 
            Dim hNode As TreeNode = AltNode
 
            tbox_SucheNode.Text = VerzeichnissArray(0)
 
            If FindNodeByName() = False Then
                hNode = nNode
 
            End If
 
            For v = 0 To VerzeichnissArray.Length - 1
                tbox_SucheNode.Text = VerzeichnissArray(v)
 
                If FindNodeByName() = False Then
                    TreeView1.SelectedNode = hNode
 
                    Dim subnode As New TreeNode
                    subnode.Name = VerzeichnissArray(v)
                    subnode.Text = VerzeichnissArray(v)
                    subnode.Tag = VerzeichnissArray(v)
 
                    TreeView1.SelectedNode.Nodes.Add(subnode)
                    hNode = subnode
                End If
            Next
 
            AltNode.Name = VerzeichnissArray(0).ToString
        Next
    End Sub
 
    Function FindNodeByName() As Boolean
        Me.tbox_SucheNode.Refresh()
        Try
            Dim tn() As TreeNode = Me.TreeView1.Nodes(0).Nodes.Find( _
              tbox_SucheNode.Text, True)
 
            Dim i As Integer = 0
 
            For i = 0 To tn.Length
                TreeView1.SelectedNode = tn(i)
                FindNodeByName = True
                Exit For
            Next i
 
        Catch
            FindNodeByName = False
        End Try
 
    End Function
In der Listbox LBox_Gefunden_Verzeichnisse stehen die Verzeichnisse, in denen sich MP3-Dateien befinden. Bsp:
F:\Fertig umbenannt\Hörbuch\Die drei Fragezeichen Kids\Die drei Fragezeichen Kids - Folge 001 - Panik im Paradies - Hörbuch
F:\Fertig umbenannt\Hörspiel\Die drei Fragezeichen Kids\Die drei Fragezeichen Kids - Adventskalender 2012

ANMERKUNG: Mir ist mein Fehler mit dem doppelten Einlesen aus dem vorherigen Thread bewusst, wird auch noch behoben.

Kann mir jemand sagen, wo der Fehler liegt? Mir ist schon klar, dass das Verzeichnis/Node "Die drei Fragezeichen Kids" unter dem Nodes Hörbuch als erstes kommt und somit die Find-Sub den nicht richtigen Knoten identifieziert. Nur wie stelle ich es an, dass der richtige Node gezogen wird?

Das Endergebnis sollte dann so aussehen:
F:\
...Fertig umbenannt
......Hörbuch
.........Die Drei Fragezeichenkids
............Die Drei Fragezeichenkids - Folge 001 - Hörbuch
............Die Drei Fragezeichenkids - Folge 002 - Hörbuch
............Die Drei Fragezeichenkids - Folge 003 - Hörbuch
......Hörspiel
.........Die Drei Fragezeichenkids
............Die Drei Fragezeichenkids - Adventskalender 2012
............Die Drei Fragezeichenkids - Folge 001
............Die Drei Fragezeichenkids - Folge 002
............Die Drei Fragezeichenkids - Folge 003

Vielen Dank schon einmal an alle im Voraus.

Volker
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Treeview - Nodes richtig selektieren3.190Volker Bunge09.05.14 13:26
Re: Treeview - Nodes richtig selektieren2.291Manfred X09.05.14 13:39
Re: Treeview - Nodes richtig selektieren2.330Volker Bunge09.05.14 15:37
Re: Treeview - Nodes richtig selektieren2.294Manfred X09.05.14 15:58
Re: Treeview - Nodes richtig selektieren2.341ErfinderDesRades09.05.14 20:04

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