Treeview

mylord666 Messages postés 162 Statut Membre -  
mylord666 Messages postés 162 Statut Membre -
Bonjour,
Tout en continuant mon initiation je suis arrivé au chapitre treeview du cours de Plasserre-vb-net2
je suis complètement perdu existe t il un autre cours pour approfondir le sujet je bloque surtout sur la déclaration du treeview
qui peut m'aider merci d'avance
bonne soirée

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple:

    Ouvrir un nouveau projet. Mettre une listview à gauche du form et une treeview à droite. Coller ce code qui liste tous les dossiers images:

    Imports System.IO
    Public Class Form1
        Private Sub PopulateTreeView()
            Dim rootNode As TreeNode
            Dim info As New DirectoryInfo("C:\Users\Utilisateur\Pictures") 'a adapter
            If info.Exists Then
                rootNode = New TreeNode(info.Name)
                rootNode.Tag = info
                GetDirectories(info.GetDirectories(), rootNode)
                TreeView1.Nodes.Add(rootNode)
                TreeView1.ExpandAll()
            End If
        End Sub
        Private Sub GetDirectories(ByVal subDirs() As DirectoryInfo, ByVal nodeToAddTo As TreeNode)
            Dim aNode As TreeNode
            Dim subSubDirs() As DirectoryInfo
            Dim subDir As DirectoryInfo
            For Each subDir In subDirs
                aNode = New TreeNode(subDir.Name, 0, 0)
                aNode.Tag = subDir
                aNode.ImageKey = "folder"
                Try
                    subSubDirs = subDir.GetDirectories()
                Catch e As UnauthorizedAccessException
                    subSubDirs = Nothing
                End Try
                If Not subSubDirs Is Nothing Then
                    If subSubDirs.Length <> 0 Then
                        GetDirectories(subSubDirs, aNode)
                    End If
                End If
                nodeToAddTo.Nodes.Add(aNode)
            Next subDir
        End Sub
        Public Sub New()
            InitializeComponent()
            PopulateTreeView()
        End Sub
        'New
        Private Sub treeView1_NodeMouseClick(ByVal sender As Object, ByVal e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
            Dim newSelected As TreeNode = e.Node
            ListView1.Items.Clear()
            Dim nodeDirInfo As DirectoryInfo = CType(newSelected.Tag, DirectoryInfo)
            Dim subItems() As ListViewItem.ListViewSubItem
            Dim item As ListViewItem = Nothing
    
            Dim dir As DirectoryInfo
            For Each dir In nodeDirInfo.GetDirectories()
                item = New ListViewItem(dir.Name, 0)
                subItems = New ListViewItem.ListViewSubItem() {New ListViewItem.ListViewSubItem(item, "Directory"), New ListViewItem.ListViewSubItem(item, _
                    dir.LastAccessTime.ToShortDateString())}
    
                item.SubItems.AddRange(subItems)
                ListView1.Items.Add(item)
            Next dir
            Dim file As FileInfo
            For Each file In nodeDirInfo.GetFiles()
                item = New ListViewItem(file.Name, 1)
                subItems = New ListViewItem.ListViewSubItem() {New ListViewItem.ListViewSubItem(item, "File"), New ListViewItem.ListViewSubItem(item, _
                    file.LastAccessTime.ToShortDateString())}
    
                item.SubItems.AddRange(subItems)
                ListView1.Items.Add(item)
            Next file
    
            ListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)
    
        End Sub
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ListView1.CheckBoxes = True
            ListView1.View = View.List
        End Sub
    
    End Class
    


    0
    1. mylord666 Messages postés 162 Statut Membre
       
      merci beaucoup je vais le teter
      0