Treeview

Fermé
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015 - 17 janv. 2015 à 23:46
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015 - 18 janv. 2015 à 17:54
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

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
18 janv. 2015 à 11:16
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
mylord666 Messages postés 151 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 9 septembre 2015
18 janv. 2015 à 17:54
merci beaucoup je vais le teter
0