Partager via


Guide pratique pour définir des icônes pour le contrôle TreeView Windows Forms

Le contrôle TreeView Windows Forms peut afficher des icônes en regard de chaque nœud. Les icônes sont positionnées à gauche immédiate du texte du nœud. Pour afficher ces icônes, vous devez associer l’arborescence à un contrôle ImageList. Pour plus d’informations sur les listes d’images, consultez composant ImageList et Comment : Ajouter ou supprimer des images avec le composant ImageList de Windows Forms.

Note

Un bogue dans Microsoft .NET Framework version 1.1 empêche les images d’apparaître sur des nœuds TreeView lorsque votre application appelle Application.EnableVisualStyles. Pour contourner ce bogue, appelez Application.DoEvents dans votre méthode de Main immédiatement après avoir appelé EnableVisualStyles. Ce bogue est résolu dans .NET Framework 2.0.

Pour afficher des images dans une arborescence

  1. Définissez la propriété ImageList du contrôle TreeView sur le contrôle ImageList existant que vous souhaitez utiliser.

    Ces propriétés peuvent être définies dans le concepteur avec la fenêtre Propriétés ou dans le code.

    TreeView1.ImageList = ImageList1  
    
    treeView1.ImageList = imageList1;  
    
    treeView1->ImageList = imageList1;  
    
  2. Définissez les propriétés ImageIndex et SelectedImageIndex du nœud. La propriété ImageIndex détermine l’image affichée pour les états normaux et développés du nœud, et la propriété SelectedImageIndex détermine l’image affichée pour l’état sélectionné du nœud.

    Ces propriétés peuvent être définies dans le code ou dans l’éditeur TreeNode. Pour ouvrir l’Éditeur TreeNode, cliquez sur le bouton de points de suspension (le bouton de points de suspension (...) dans la fenêtre Propriétés de Visual Studio.) à côté de la propriété Nodes dans la fenêtre Propriétés.

    ' (Assumes that ImageList1 contains at least two images and  
    ' the TreeView control contains a selected image.)  
    TreeView1.SelectedNode.ImageIndex = 0  
    TreeView1.SelectedNode.SelectedImageIndex = 1  
    
    // (Assumes that imageList1 contains at least two images and  
    // the TreeView control contains a selected image.)  
    treeView1.SelectedNode.ImageIndex = 0;  
    treeView1.SelectedNode.SelectedImageIndex = 1;  
    
    // (Assumes that imageList1 contains at least two images and  
    // the TreeView control contains a selected image.)  
    treeView1->SelectedNode->ImageIndex = 0;  
    treeView1->SelectedNode->SelectedImageIndex = 1;  
    

Voir aussi