Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Proprietà TreeView.ImageIndex

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

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

[RelatedImageListAttribute("ImageList")]
public int ImageIndex { get; set; }

Valore proprietà

Tipo: System.Int32
Indice in base zero che rappresenta la posizione di Image in un oggetto ImageList. Il valore predefinito è zero.

EccezioneCondizione
ArgumentOutOfRangeException

L'indice specificato è minore di 0.

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; se una è impostata, l'altra viene ignorata. Se si imposta ImageKey, ImageIndex viene impostato automaticamente su -1. In alternativa, se si imposta ImageIndex, ImageKey viene automaticamente impostato 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 ad albero vengono compressi, ad eccezione dell'oggetto TreeNode selezionato.

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 ad albero 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 che contiene oggetti Customer, ognuno dei quali contiene, a sua volta, oggetti Order. Inoltre, si suppone che gli oggetti Customer e Order siano stati definiti.



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


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

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

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft