Freigeben über


TreeView.SelectedImageIndex-Eigenschaft

Ruft den Indexwert des Bilds in der Bildliste ab, das für einen ausgewählten Strukturknoten angezeigt wird, oder legt diesen fest.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
<LocalizableAttribute(True)> _
Public Property SelectedImageIndex As Integer
'Usage
Dim instance As TreeView
Dim value As Integer

value = instance.SelectedImageIndex

instance.SelectedImageIndex = value
[LocalizableAttribute(true)] 
public int SelectedImageIndex { get; set; }
[LocalizableAttribute(true)] 
public:
property int SelectedImageIndex {
    int get ();
    void set (int value);
}
/** @property */
public int get_SelectedImageIndex ()

/** @property */
public void set_SelectedImageIndex (int value)
public function get SelectedImageIndex () : int

public function set SelectedImageIndex (value : int)

Eigenschaftenwert

Ein nullbasierter Indexwert, der die Position eines Image in einer ImageList darstellt.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der dem Index zugewiesene Wert ist kleiner als 0.

Hinweise

Der SelectedImageIndex-Wert ist der Index eines Image, das in der der ImageList-Eigenschaft zugewiesenen ImageList gespeichert ist.

Hinweis

Wenn die SelectedImageIndex-Eigenschaft zur Laufzeit festgelegt wird, wird das TreeView-Handle neu erstellt (siehe Control.RecreateHandle), um die Darstellung des Steuerelements zu aktualisieren. Dadurch werden alle Strukturknoten mit Ausnahme des ausgewählten TreeNode reduziert.

Beispiel

Im folgenden Codebeispiel wird eine ImageList erstellt und einem TreeView-Steuerelement zugeordnet, und das TreeView-Steuerelement wird mit TreeNode-Objekten gefüllt. Den Strukturknoten werden Bilder aus der ImageList zugewiesen, die im ausgewählten oder nicht ausgewählten Zustand angezeigt werden. Für dieses Beispiel ist es erforderlich, dass eine Form mit einer TreeView und eine ArrayList mit Customer-Objekten vorhanden sind, die wiederum Order-Objekte enthalten. Des Weiteren wird davon ausgegangen, dass das Customer-Objekt und das Order-Objekt definiert sind.

Private Sub FillTreeView()
   ' Load the images in an ImageList.
   Dim myImageList As 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.
   Me.rootImageIndex = 2
   Me.selectedCustomerImageIndex = 3
   Me.unselectedCustomerImageIndex = 4
   Me.selectedOrderImageIndex = 5
   Me.unselectedOrderImageIndex = 6
   
   ' Create the root tree node.
   Dim rootNode As 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.
   Dim myCustomer As Customer
   For Each myCustomer In  customerArray
      ' Add a child tree node for each Order object.
      Dim countIndex As Integer = 0
      Dim myTreeNodeArray(myCustomer.CustomerOrders.Count) As TreeNode
      Dim myOrder As Order
      For Each myOrder In  myCustomer.CustomerOrders
         ' Add the Order tree node to the array.
         myTreeNodeArray(countIndex) = New TreeNode(myOrder.OrderID, _
            unselectedOrderImageIndex, selectedOrderImageIndex)
         countIndex += 1
      Next myOrder
      ' Add the Customer tree node.
      Dim customerNode As New TreeNode(myCustomer.CustomerName, _
         unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray)
      myTreeView.Nodes(0).Nodes.Add(customerNode)
   Next myCustomer
End Sub
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);
    }
}
void FillTreeView()
{
   
   // Load the images in an ImageList.
   ImageList^ myImageList = gcnew 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 = gcnew 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.
   IEnumerator^ myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current);
      
      // Add a child tree node for each Order object.
      int countIndex = 0;
      array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(myCustomer->CustomerOrders->Count);
      IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Order^ myOrder = safe_cast<Order^>(myEnum->Current);
         
         // Add the Order tree node to the array.
         myTreeNodeArray[ countIndex ] = gcnew TreeNode( myOrder->OrderID,unselectedOrderImageIndex,selectedOrderImageIndex );
         countIndex++;
      }
      TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,unselectedCustomerImageIndex,selectedCustomerImageIndex,myTreeNodeArray );
      myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode );
   }
}
private void FillTreeView()
{
    // Load the images in an ImageList.
    ImageList myImageList = new ImageList();
    myImageList.get_Images().Add(Image.FromFile("Default.gif"));
    myImageList.get_Images().Add(Image.FromFile("SelectedDefault.gif"));
    myImageList.get_Images().Add(Image.FromFile("Root.gif"));
    myImageList.get_Images().Add(Image.FromFile("UnselectedCustomer.gif"));
    myImageList.get_Images().Add(Image.FromFile("SelectedCustomer.gif"));
    myImageList.get_Images().Add(Image.FromFile("UnselectedOrder.gif"));
    myImageList.get_Images().Add(Image.FromFile("SelectedOrder.gif"));
    // Assign the ImageList to the TreeView.
    myTreeView.set_ImageList(myImageList);
    // Set the TreeView control's default image and selected image indexes.
    myTreeView.set_ImageIndex(0);
    myTreeView.set_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.set_ImageIndex(rootImageIndex);
    rootNode.set_SelectedImageIndex(rootImageIndex);
    // Add a main root tree node.
    myTreeView.get_Nodes().Add(rootNode);
    // Add a root tree node for each Customer object in the ArrayList.
    for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) {
        Customer myCustomer = (Customer)customerArray.get_Item(iCtr1);
        // Add a child tree node for each Order object.
        int countIndex = 0;
        TreeNode myTreeNodeArray[] =
            new TreeNode[myCustomer.customerOrders.get_Count()];
        for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count();
            iCtr2++) {
            Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2);
            // Add the Order tree node to the array.
            myTreeNodeArray.set_Item(countIndex,
                new TreeNode(myOrder.orderID, unselectedOrderImageIndex,
                selectedOrderImageIndex));
            countIndex++;
        }
        // Add the Customer tree node.
        TreeNode customerNode = new TreeNode(myCustomer.customerName,
            unselectedCustomerImageIndex, selectedCustomerImageIndex,
            myTreeNodeArray);
        myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode);
    }
} //FillTreeView

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

TreeView-Klasse
TreeView-Member
System.Windows.Forms-Namespace
TreeView.ImageList-Eigenschaft
TreeView.ImageIndex-Eigenschaft