英語で読む

次の方法で共有


TreeNode.ImageIndex プロパティ

定義

ツリー ノードが選択されていないときに表示されるイメージのイメージ リスト内のインデックス値を取得または設定します。

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

プロパティ値

割り当てられた ImageList 内のイメージの位置を表す 0 から始まるインデックス値。

属性

例外

.NET 5 以降: value が -2 未満です。

次のコード例では、 をImageList作成してコントロールにTreeView割り当て、コントロールTreeNodeに オブジェクトをTreeView入力します。 ツリー ノードには、 から ImageList イメージが割り当てられます。このイメージは、ツリー ノードが選択または選択されていない状態のときに表示されます。 この例では、 Form を含む と、オブジェクトOrderを含TreeViewむ オブジェクトを含む CustomerArrayList必要です。 また、 オブジェクトと Order オブジェクトをCustomer定義する必要もあります。

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

注釈

値はImageIndex、 プロパティに割り当てられた TreeView.ImageList に格納されている のImageListインデックス値Imageです。

注意

プロパティのImageIndex既定値は、 が割り当てられているコントロールTreeNodeTreeView プロパティとImageIndex同じです。

ImageKeyImageIndex は相互に排他的です。つまり、一方が設定されている場合、もう一方は無効な値に設定され、無視されます。 プロパティを ImageKey 設定すると、 ImageIndex プロパティは自動的に -1 に設定されます。 または、 プロパティを ImageIndex 設定すると、 ImageKey は自動的に空の文字列 ("") に設定されます。

.NET 5 以降のバージョン: 関連付けられている ImageList プロパティ値が に null変更された場合、 ImageIndex プロパティは既定値 -1 を返します。 ただし、割り当てられた ImageIndex 値は内部的に保持され、別 ImageList のオブジェクトが プロパティに ImageList 割り当てられるときに使用されます。 プロパティにImageList割り当てられた新しい ImageList が、プロパティに割り当てられたImageIndex値から 1 を引いた値以下のプロパティ値を持つImageList.ImageCollection.Count場合 (コレクションが 0 から始まるインデックスを考慮するため)ImageIndex、プロパティ値はプロパティ値より Count 1 小さい値に調整されます。 たとえば、3 つの画像ImageIndexを持ちImageList、プロパティが 2 に設定されているボタン コントロールについて考えてみます。 ボタンに 2 つの画像しか割り当てされていない新しい ImageList イメージが割り当てられている場合、値は ImageIndex 1 に変わります。

適用対象

製品 バージョン
.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

こちらもご覧ください