| |

VB.NET - Ein- und UmsteigerTreeview - 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 |  |
 | 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 |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 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
|
|