Proprietà TreeView.ImageIndex (System.Windows.Forms)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Proprietà TreeView.ImageIndex

Ottiene o imposta il valore di indice dell'elenco immagini dell'immagine predefinita visualizzata accanto ai nodi della struttura.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Sintassi

Visual Basic - (Dichiarazione)
<LocalizableAttribute(True)> _
Public Property ImageIndex As Integer
Visual Basic (Utilizzo)
Dim instance As TreeView
Dim value As Integer

value = instance.ImageIndex

instance.ImageIndex = value
C#
[LocalizableAttribute(true)] 
public int ImageIndex { get; set; }
C++
[LocalizableAttribute(true)] 
public:
property int ImageIndex {
	int get ();
	void set (int value);
}
J#
/** @property */
public int get_ImageIndex ()

/** @property */
public void set_ImageIndex (int value)

JScript
public function get ImageIndex () : int

public function set ImageIndex (value : int)

Valore proprietà

Indice in base zero che rappresenta la posizione di Image in un oggetto ImageList. Il valore predefinito è zero.
Eccezioni

Tipo di eccezione Condizione

ArgumentOutOfRangeException

L'indice specificato è minore di 0.

Note

Il valore ImageIndex è l'indice di un oggetto Image archiviato nell'oggetto ImageList assegnato alla proprietà ImageList.

Le proprietà ImageKey e ImageIndex si escludono a vicenda. Questo significa che se una è impostata, l'altra viene ignorata. Se si imposta ImageKey, la proprietà ImageIndex viene impostata automaticamente su -1. Al contrario, se si imposta ImageIndex, la proprietà ImageKey viene impostata automaticamente su una stringa vuota ("").

NotaNota

Quando si imposta la proprietà ImageIndex in fase di esecuzione, l'handle di TreeView viene ricreato (vedere Control.RecreateHandle) in modo da aggiornare l'aspetto del controllo. Di conseguenza, tutti i nodi della struttura vengono compressi, ad eccezione dell'oggetto TreeNode selezionato.

Esempio

Nell'esempio di codice riportato di seguito viene creato e assegnato un oggetto ImageList a un controllo TreeView in cui vengono inseriti oggetti TreeNode. I nodi della struttura sono immagini assegnate contenute nell'oggetto ImageList che vengono visualizzate nello stato selezionato o non selezionato. Per eseguire questo esempio è necessario che sia presente un oggetto Form, contenente TreeView, e un oggetto ArrayList contenente oggetti Customer, ognuno dei quali contiene, a sua volta, oggetti Order. Inoltre, si suppone che gli oggetti Customer e Order siano stati definiti.

Visual Basic
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

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

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

J#
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

Piattaforme

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

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Vedere anche