TreeNode.ImageIndex Propriété

Définition

Obtient ou définit la valeur d'index de liste de l'image affichée quand le nœud d'arbre est dans l'état non sélectionné.

C#
public int ImageIndex { get; set; }
C#
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeViewImageIndexConverter))]
[System.Windows.Forms.RelatedImageList("TreeView.ImageList")]
public int ImageIndex { get; set; }

Valeur de propriété

Int32

Index de base zéro représentant la position de l'image dans le ImageList assigné.

Attributs

Exceptions

.NET 5 et versions ultérieures : value est inférieur à -2.

Exemples

L’exemple de code suivant crée et affecte un ImageList TreeView contrôle et remplit le TreeView contrôle avec TreeNode des objets. Les nœuds d’arborescence sont affectés aux images ImageList affichées lorsque le nœud d’arborescence se trouve dans un état sélectionné ou non sélectionné. Cet exemple nécessite que vous ayez un qui contient un Form TreeView, et un ArrayList qui contient Customer des objets qui contiennent chacun des Order objets. Il exige également que les objets et Order les Customer objets soient définis.

C#

public class Customer
{
   public ArrayList CustomerOrders;
   public string CustomerName;
   public Customer(string myName)
   {
      CustomerName = myName;
      CustomerOrders = new ArrayList(); 
   }
}
public class Order
{
   public string OrderID;
   public Order(string myOrderID )
   {
      this.OrderID = myOrderID;
   }
}

private void FillTreeView()
{
    // Load the images in an ImageList.
    ImageList myImageList = new ImageList();
    myImageList.Images.Add(Image.FromFile("Default.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
    myImageList.Images.Add(Image.FromFile("Root.gif"));
    myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
    myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
    myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));
    
    // Assign the ImageList to the TreeView.
    myTreeView.ImageList = myImageList;
    
    // Set the TreeView control's default image and selected image indexes.
    myTreeView.ImageIndex = 0;
    myTreeView.SelectedImageIndex = 1;

    /* Set the index of image from the 
    ImageList for selected and unselected tree nodes.*/
    this.rootImageIndex = 2;
    this.selectedCustomerImageIndex = 3;
    this.unselectedCustomerImageIndex = 4;
    this.selectedOrderImageIndex = 5;
    this.unselectedOrderImageIndex = 6;
    
    // Create the root tree node.
    TreeNode rootNode = new TreeNode("CustomerList");
    rootNode.ImageIndex = rootImageIndex;
    rootNode.SelectedImageIndex = rootImageIndex;
      
    // Add a main root tree node.
    myTreeView.Nodes.Add(rootNode);

    // Add a root tree node for each Customer object in the ArrayList.
    foreach(Customer myCustomer in customerArray)
    {
        // Add a child tree node for each Order object.
        int countIndex=0;
        TreeNode[] myTreeNodeArray = new TreeNode[myCustomer.CustomerOrders.Count];
        foreach(Order myOrder in myCustomer.CustomerOrders)
        {
            // Add the Order tree node to the array.
            myTreeNodeArray[countIndex] = new TreeNode(myOrder.OrderID,
              unselectedOrderImageIndex, selectedOrderImageIndex);
            countIndex++;
        }
        // Add the Customer tree node.
        TreeNode customerNode = new TreeNode(myCustomer.CustomerName,
            unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray);
        myTreeView.Nodes[0].Nodes.Add(customerNode);
    }
}

Remarques

La ImageIndex valeur est la valeur d’index d’un Image stocké dans la TreeView.ImageList ImageList propriété affectée.

Note

La valeur par défaut de la ImageIndex propriété est identique à la ImageIndex TreeView propriété du contrôle auquel le TreeNode contrôle est affecté.

ImageKey et ImageIndex sont mutuellement exclusifs, ce qui signifie que si l’un est défini, l’autre est défini sur une valeur non valide et ignoré. Si vous définissez la ImageKey propriété, la ImageIndex propriété est automatiquement définie sur -1. Sinon, si vous définissez la ImageIndex propriété, celle-ci ImageKey est automatiquement définie sur une chaîne vide («  »).

Versions .NET 5 et ultérieures : Si la valeur de propriété associée ImageList est modifiée null, la ImageIndex propriété retourne sa valeur par défaut, -1. Toutefois, la valeur affectée ImageIndex est conservée en interne et utilisée lorsqu’un autre ImageList objet est affecté à la ImageList propriété. Si le nouveau ImageList affecté à la ImageList propriété a une ImageList.ImageCollection.Count valeur de propriété inférieure ou égale à la valeur affectée à la ImageIndex propriété moins une (pour tenir compte de la collection en tant qu’index de base zéro), la ImageIndex valeur de propriété est ajustée à une valeur inférieure à celle de la Count propriété. Par exemple, considérez un contrôle de bouton dont ImageList trois images et dont ImageIndex la propriété est définie sur 2. Si une nouvelle ImageList image n’a que deux images sont affectées au bouton, la ImageIndex valeur passe à 1.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Voir aussi