TreeView.ImageList Özellik

Tanım

Ağaç düğümleri tarafından kullanılan nesneleri içeren Image öğesini alır veya ayarlarImageList.

C#
public System.Windows.Forms.ImageList ImageList { get; set; }
C#
public System.Windows.Forms.ImageList? ImageList { get; set; }

Özellik Değeri

ImageList ağaç düğümleri tarafından kullanılan nesneleri içerenImage. null varsayılan değerdir.

Örnekler

Aşağıdaki kod örneği bir ImageListTreeView denetim oluşturup bir denetime atar ve denetimi nesnelerle TreeNode doldururTreeView. Ağaç düğümlerine, seçili veya seçilmemiş durumdayken görüntülenen görüntü ImageList atanır. Bu örnek, içeren bir FormTreeViewve her Order nesne içeren nesneleri içeren Customer bir ArrayList sahip olmasını gerektirir.

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);
    }
}

Açıklamalar

ImageList Özellik değeri dışında nullbir değerse, tüm ağaç düğümleri içinde ImageListdepolanan ilk Image öğesini görüntüler. ve SelectedImageIndex özelliklerini ayarlayarak seçili ve seçilmemiş düğümler için listeden hangi görüntülerin ImageIndex görüntüleneceğini belirtebilirsiniz. Tek tek TreeNode nesneler ve SelectedImageIndex özelliklerini ayarlayarak ImageIndex hangi görüntünün görüntüleneceğini belirtebilir. Bu tek tek ayarlar, ilgili TreeView özelliklerdeki ayarları geçersiz kılar.

Not

.NET Framework sürüm 1.1'de, uygulamanız çağırdığında Application.EnableVisualStylesdüğümlerde TreeView görüntülerin görünmesini engelleyen bir sorun vardır. Bu sorunu geçici olarak çözmek için çağrısı Application.DoEvents yaptıktan hemen sonra yönteminizi Main çağırabilirsiniz EnableVisualStyles. Bu sorun .NET Framework 2.0'da düzeltildi.

Şunlara uygulanır

Ürün Sürümler
.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, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10