vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Treeview Nodes 
Autor: Maywood
Datum: 02.04.05 15:05

Nein, nicht alles. Einfach nur ein kl. Teil davon. Da es ist sonst etwas schwer ist/war, dein Vorhaben richtig zu verstehen.

Ich hab mal schnell ein kl. Beispiel erstellt. Sozusagen die Version 0.1

Du benötigst für diesen Code ein TreeView, ein Button und ein Label (auf deiner Form). Hier der Code:
Option Explicit On
Option Strict On
 
Public Class Form1
    '// DesignerRegion
 
    Dim imgList As ImageList
    Dim idx As Integer
    Dim imgRoot As String = "D:\images"
 
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
 
        Dim root As New MyTreeNode("My Images", MyTreeNode.NodeType.IsRootNode, _
          0)
        Me.imgList.Images.Clear()
        idx = 0
        imgList.Images.Add(New Bitmap(4, 4))
        Me.TreeView1.ImageList = imgList
        Me.TreeView1.BeginUpdate()
        Me.TreeView1.Nodes.Add(root)
        Me.SearchImages(imgRoot, root.Nodes)
        Me.TreeView1.EndUpdate()
    End Sub
 
    Private Sub FillImageListAndNode(ByVal fileName As String, _
                                     ByRef NodeColl As TreeNodeCollection)
 
        Dim img As Image = Image.FromFile(fileName)
        imgList.Images.Add(img)
        idx += 1
        NodeColl.Add(New MyTreeNode(fileName, MyTreeNode.NodeType.IsImage, idx))
    End Sub
 
    Private Sub GetImages(ByVal Dir As String, _
                          ByRef NodeColl As TreeNodeCollection)
 
        For Each f As String In IO.Directory.GetFiles(Dir)
            FillImageListAndNode(f, NodeColl)
        Next
    End Sub
 
    Private Sub SearchImages(ByVal Dir As String, _
                             ByRef NodeColl As TreeNodeCollection)
 
        Dim tn As New MyTreeNode(Dir, MyTreeNode.NodeType.IsFolder, 0)
        GetImages(Dir, tn.Nodes)
        NodeColl.Add(tn)
        For Each d As String In IO.Directory.GetDirectories(Dir)
            SearchImages(d, tn.Nodes)
        Next
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        imgList = New ImageList
    End Sub
 
    Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As _
      System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim tn As MyTreeNode = CType(Me.TreeView1.SelectedNode, MyTreeNode)
        Me.Label1.Text = "INFO: " + tn.ToString()
    End Sub
End Class
 
Public Class MyTreeNode
    Inherits TreeNode
    Public TreeNodeType As NodeType
 
    Public Sub New(ByVal Text As String, _
                   ByVal NodeType As NodeType, _
                   ByVal ImageIndex As Integer)
 
        Me.Text = Text
        Me.TreeNodeType = NodeType
        Me.ImageIndex = ImageIndex
        Me.SelectedImageIndex = Me.ImageIndex
    End Sub
 
    Public Enum NodeType
        IsFolder
        IsImage
        IsRootNode
    End Enum
 
    Public Overrides Function ToString() As String
        Return String.Format( _
                              "Text: {0} " + _
                              "ImageIndex: {1} " + _
                              "NodeType: {2} ", _
                              Me.Text, _
                              Me.ImageIndex, _
                              Me.TreeNodeType.ToString() _
                            )
    End Function
 
End Class
Ich denke, das ist eine gute Basis. Den Rest müsstest du/wir ggf. anpassen/ändern.

Die jetzige Ordnerstruktur:
D:\IMAGES
+---img1
|   +---img1
|   \---img2
+---img2
|   +---img1
|   \---img2
\---img3
    +---img1
    \---img2
In den Unterordnern img1 und img2 befinden sich bspw. irgendwelche Bilder.

PS: Du kannst in der Kosnole ohne Prob. kopieren. Einfach Rechtsklick mit der Maus, "markieren" auswählen, Text auswählen und Return drücken. Jetzt befindet sich der Text in der Zwischenablage.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Treeview Nodes2.178Eckhard28.03.05 17:20
Re: Treeview Nodes1.758Eckhard28.03.05 17:48
Re: Treeview Nodes1.671Maywood28.03.05 18:49
Re: Treeview Nodes1.673Eckhard28.03.05 19:46
Re: Treeview Nodes1.634Maywood28.03.05 20:14
Re: Treeview Nodes1.567Eckhard28.03.05 21:54
Re: Treeview Nodes1.570Maywood29.03.05 19:22
Re: Treeview Nodes1.570Eckhard29.03.05 19:48
Re: Treeview Nodes1.791Maywood29.03.05 20:01
Re: Treeview Nodes1.594Eckhard29.03.05 20:11
Re: Treeview Nodes1.535Maywood29.03.05 20:35
Re: Treeview Nodes1.564Eckhard29.03.05 20:43
Re: Treeview Nodes1.676Maywood30.03.05 21:16
Re: Treeview Nodes1.949Eckhard31.03.05 16:31
Re: Treeview Nodes1.595Maywood31.03.05 18:26
Re: Treeview Nodes1.638Eckhard01.04.05 18:50
Re: Treeview Nodes1.611Eckhard01.04.05 19:40
Re: Treeview Nodes1.602Maywood02.04.05 15:05
Re: Treeview Nodes1.612Eckhard02.04.05 15:36
Re: Treeview Nodes1.677Eckhard02.04.05 22:14
Re: Treeview Nodes1.696Maywood03.04.05 13:10
Re: Treeview Nodes1.560Eckhard03.04.05 18:01
Re: Treeview Nodes1.624Maywood03.04.05 18:28
Re: Treeview Nodes1.877Eckhard03.04.05 18:53
Re: Treeview Nodes - PS1.714Maywood03.04.05 18:57
Re: Treeview Nodes - PS1.616Eckhard03.04.05 19:10
Re: Treeview Nodes - PS1.601Maywood03.04.05 19:33
Re: Treeview Nodes - PS1.576Eckhard03.04.05 19:50
Re: Treeview Nodes1.753Eckhard08.04.05 19:15

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-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