TreeNodeCollection.Add Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega un nuevo nodo de árbol a la colección.
Sobrecargas
Add(String) |
Agrega un nuevo nodo de árbol al final de la actual colección de nodos de árbol con el texto de etiqueta especificado. |
Add(TreeNode) |
Agrega un nodo de árbol anteriormente creado al final de la colección de nodos de árbol. |
Add(String, String) |
Crea un nuevo nodo de árbol con la clave y texto especificados y lo agrega a la colección. |
Add(String, String, Int32) |
Crea un nodo de árbol con la clave, texto e imagen especificados y lo agrega a la colección. |
Add(String, String, String) |
Crea un nodo de árbol con la clave, texto e imagen especificados y lo agrega a la colección. |
Add(String, String, Int32, Int32) |
Crea un nodo de árbol con la clave, texto e imágenes especificados y lo agrega a la colección. |
Add(String, String, String, String) |
Crea un nodo de árbol con la clave, texto e imágenes especificados y lo agrega a la colección. |
Add(String)
Agrega un nuevo nodo de árbol al final de la actual colección de nodos de árbol con el texto de etiqueta especificado.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ text);
public virtual System.Windows.Forms.TreeNode Add (string text);
public virtual System.Windows.Forms.TreeNode Add (string? text);
abstract member Add : string -> System.Windows.Forms.TreeNode
override this.Add : string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (text As String) As TreeNode
Parámetros
Devoluciones
TreeNode que representa el nodo de árbol que se va a agregar a la colección.
Ejemplos
En el ejemplo de código siguiente se muestra la información del cliente en un TreeView control . Los nodos de árbol raíz muestran nombres de cliente y los nodos de árbol secundarios muestran los números de pedido asignados a cada cliente. En este ejemplo, se muestran 1000 clientes con 15 pedidos cada uno. La repaintación de TreeView se suprime mediante los BeginUpdate métodos y EndUpdate , y se muestra una espera Cursor mientras TreeView crea y pinta los TreeNode objetos . En este ejemplo se requiere que tenga un Customer
objeto que pueda contener una colección de Order
objetos . También requiere que haya creado una instancia de un TreeView control en .Form
// The basic Customer class.
ref class Customer: public System::Object
{
private:
String^ custName;
protected:
ArrayList^ custOrders;
public:
Customer( String^ customername )
{
custName = "";
custOrders = gcnew ArrayList;
this->custName = customername;
}
property String^ CustomerName
{
String^ get()
{
return this->custName;
}
void set( String^ value )
{
this->custName = value;
}
}
property ArrayList^ CustomerOrders
{
ArrayList^ get()
{
return this->custOrders;
}
}
};
// End Customer class
// The basic customer Order class.
ref class Order: public System::Object
{
private:
String^ ordID;
public:
Order( String^ orderid )
{
ordID = "";
this->ordID = orderid;
}
property String^ OrderID
{
String^ get()
{
return this->ordID;
}
void set( String^ value )
{
this->ordID = value;
}
}
};
// End Order class
void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for ( int x = 0; x < 1000; x++ )
{
customerArray->Add( gcnew Customer( "Customer " + x ) );
}
// Add orders to each Customer object in the ArrayList.
IEnumerator^ myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer1 = safe_cast<Customer^>(myEnum->Current);
for ( int y = 0; y < 15; y++ )
{
customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) );
}
}
// Display a wait cursor while the TreeNodes are being created.
::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" );
// Suppress repainting the TreeView until all the objects have been created.
treeView1->BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1->Nodes->Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer2 = safe_cast<Customer^>(myEnum->Current);
treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) );
// Add a child treenode for each Order object in the current Customer object.
IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator();
while ( myEnum->MoveNext() )
{
Order^ order1 = safe_cast<Order^>(myEnum->Current);
treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) );
}
}
// Reset the cursor to the default for all controls.
::Cursor::Current = Cursors::Default;
// Begin repainting the TreeView.
treeView1->EndUpdate();
}
// The basic Customer class.
public class Customer : System.Object
{
private string custName = "";
protected ArrayList custOrders = new ArrayList();
public Customer(string customername)
{
this.custName = customername;
}
public string CustomerName
{
get{return this.custName;}
set{this.custName = value;}
}
public ArrayList CustomerOrders
{
get{return this.custOrders;}
}
} // End Customer class
// The basic customer Order class.
public class Order : System.Object
{
private string ordID = "";
public Order(string orderid)
{
this.ordID = orderid;
}
public string OrderID
{
get{return this.ordID;}
set{this.ordID = value;}
}
} // End Order class
// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList();
private void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for(int x=0; x<1000; x++)
{
customerArray.Add(new Customer("Customer" + x.ToString()));
}
// Add orders to each Customer object in the ArrayList.
foreach(Customer customer1 in customerArray)
{
for(int y=0; y<15; y++)
{
customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));
}
}
// Display a wait cursor while the TreeNodes are being created.
Cursor.Current = new Cursor("MyWait.cur");
// Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1.Nodes.Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
foreach(Customer customer2 in customerArray)
{
treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
// Add a child treenode for each Order object in the current Customer object.
foreach(Order order1 in customer2.CustomerOrders)
{
treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
new TreeNode(customer2.CustomerName + "." + order1.OrderID));
}
}
// Reset the cursor to the default for all controls.
Cursor.Current = Cursors.Default;
// Begin repainting the TreeView.
treeView1.EndUpdate();
}
Public Class Customer
Inherits [Object]
Private custName As String = ""
Friend custOrders As New ArrayList()
Public Sub New(ByVal customername As String)
Me.custName = customername
End Sub
Public Property CustomerName() As String
Get
Return Me.custName
End Get
Set(ByVal Value As String)
Me.custName = Value
End Set
End Property
Public ReadOnly Property CustomerOrders() As ArrayList
Get
Return Me.custOrders
End Get
End Property
End Class
Public Class Order
Inherits [Object]
Private ordID As String
Public Sub New(ByVal orderid As String)
Me.ordID = orderid
End Sub
Public Property OrderID() As String
Get
Return Me.ordID
End Get
Set(ByVal Value As String)
Me.ordID = Value
End Set
End Property
End Class
' Create a new ArrayList to hold the Customer objects.
Private customerArray As New ArrayList()
Private Sub FillMyTreeView()
' Add customers to the ArrayList of Customer objects.
Dim x As Integer
For x = 0 To 999
customerArray.Add(New Customer("Customer" + x.ToString()))
Next x
' Add orders to each Customer object in the ArrayList.
Dim customer1 As Customer
For Each customer1 In customerArray
Dim y As Integer
For y = 0 To 14
customer1.CustomerOrders.Add(New Order("Order" + y.ToString()))
Next y
Next customer1
' Display a wait cursor while the TreeNodes are being created.
Cursor.Current = New Cursor("MyWait.cur")
' Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate()
' Clear the TreeView each time the method is called.
treeView1.Nodes.Clear()
' Add a root TreeNode for each Customer object in the ArrayList.
Dim customer2 As Customer
For Each customer2 In customerArray
treeView1.Nodes.Add(New TreeNode(customer2.CustomerName))
' Add a child TreeNode for each Order object in the current Customer object.
Dim order1 As Order
For Each order1 In customer2.CustomerOrders
treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _
New TreeNode(customer2.CustomerName + "." + order1.OrderID))
Next order1
Next customer2
' Reset the cursor to the default for all controls.
Cursor.Current = System.Windows.Forms.Cursors.Default
' Begin repainting the TreeView.
treeView1.EndUpdate()
End Sub
Comentarios
También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
Para quitar un TreeNode objeto que agregó anteriormente, use los Removemétodos , RemoveAto Clear .
Consulte también
Se aplica a
Add(TreeNode)
Agrega un nodo de árbol anteriormente creado al final de la colección de nodos de árbol.
public:
virtual int Add(System::Windows::Forms::TreeNode ^ node);
public virtual int Add (System.Windows.Forms.TreeNode node);
abstract member Add : System.Windows.Forms.TreeNode -> int
override this.Add : System.Windows.Forms.TreeNode -> int
Public Overridable Function Add (node As TreeNode) As Integer
Parámetros
Devoluciones
Valor del índice de base cero del objeto TreeNode agregado a la colección de nodos de árbol.
Excepciones
El node
está asignado actualmente a otro control TreeView.
Ejemplos
En el ejemplo de código siguiente se muestra la información del cliente en un TreeView control . Los nodos de árbol raíz muestran nombres de cliente y los nodos de árbol secundarios muestran los números de pedido asignados a cada cliente. En este ejemplo, se muestran 1000 clientes con 15 pedidos cada uno. La repaintación de TreeView se suprime mediante los BeginUpdate métodos y EndUpdate , y se muestra una espera Cursor mientras TreeView crea y pinta los TreeNode objetos . En este ejemplo se requiere que tenga un Customer
objeto que pueda contener una colección de Order
objetos . También requiere que haya creado una instancia de un TreeView control en .Form
// The basic Customer class.
ref class Customer: public System::Object
{
private:
String^ custName;
protected:
ArrayList^ custOrders;
public:
Customer( String^ customername )
{
custName = "";
custOrders = gcnew ArrayList;
this->custName = customername;
}
property String^ CustomerName
{
String^ get()
{
return this->custName;
}
void set( String^ value )
{
this->custName = value;
}
}
property ArrayList^ CustomerOrders
{
ArrayList^ get()
{
return this->custOrders;
}
}
};
// End Customer class
// The basic customer Order class.
ref class Order: public System::Object
{
private:
String^ ordID;
public:
Order( String^ orderid )
{
ordID = "";
this->ordID = orderid;
}
property String^ OrderID
{
String^ get()
{
return this->ordID;
}
void set( String^ value )
{
this->ordID = value;
}
}
};
// End Order class
void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for ( int x = 0; x < 1000; x++ )
{
customerArray->Add( gcnew Customer( "Customer " + x ) );
}
// Add orders to each Customer object in the ArrayList.
IEnumerator^ myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer1 = safe_cast<Customer^>(myEnum->Current);
for ( int y = 0; y < 15; y++ )
{
customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) );
}
}
// Display a wait cursor while the TreeNodes are being created.
::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" );
// Suppress repainting the TreeView until all the objects have been created.
treeView1->BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1->Nodes->Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer2 = safe_cast<Customer^>(myEnum->Current);
treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) );
// Add a child treenode for each Order object in the current Customer object.
IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator();
while ( myEnum->MoveNext() )
{
Order^ order1 = safe_cast<Order^>(myEnum->Current);
treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) );
}
}
// Reset the cursor to the default for all controls.
::Cursor::Current = Cursors::Default;
// Begin repainting the TreeView.
treeView1->EndUpdate();
}
// The basic Customer class.
public class Customer : System.Object
{
private string custName = "";
protected ArrayList custOrders = new ArrayList();
public Customer(string customername)
{
this.custName = customername;
}
public string CustomerName
{
get{return this.custName;}
set{this.custName = value;}
}
public ArrayList CustomerOrders
{
get{return this.custOrders;}
}
} // End Customer class
// The basic customer Order class.
public class Order : System.Object
{
private string ordID = "";
public Order(string orderid)
{
this.ordID = orderid;
}
public string OrderID
{
get{return this.ordID;}
set{this.ordID = value;}
}
} // End Order class
// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList();
private void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for(int x=0; x<1000; x++)
{
customerArray.Add(new Customer("Customer" + x.ToString()));
}
// Add orders to each Customer object in the ArrayList.
foreach(Customer customer1 in customerArray)
{
for(int y=0; y<15; y++)
{
customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));
}
}
// Display a wait cursor while the TreeNodes are being created.
Cursor.Current = new Cursor("MyWait.cur");
// Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1.Nodes.Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
foreach(Customer customer2 in customerArray)
{
treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
// Add a child treenode for each Order object in the current Customer object.
foreach(Order order1 in customer2.CustomerOrders)
{
treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
new TreeNode(customer2.CustomerName + "." + order1.OrderID));
}
}
// Reset the cursor to the default for all controls.
Cursor.Current = Cursors.Default;
// Begin repainting the TreeView.
treeView1.EndUpdate();
}
Public Class Customer
Inherits [Object]
Private custName As String = ""
Friend custOrders As New ArrayList()
Public Sub New(ByVal customername As String)
Me.custName = customername
End Sub
Public Property CustomerName() As String
Get
Return Me.custName
End Get
Set(ByVal Value As String)
Me.custName = Value
End Set
End Property
Public ReadOnly Property CustomerOrders() As ArrayList
Get
Return Me.custOrders
End Get
End Property
End Class
Public Class Order
Inherits [Object]
Private ordID As String
Public Sub New(ByVal orderid As String)
Me.ordID = orderid
End Sub
Public Property OrderID() As String
Get
Return Me.ordID
End Get
Set(ByVal Value As String)
Me.ordID = Value
End Set
End Property
End Class
' Create a new ArrayList to hold the Customer objects.
Private customerArray As New ArrayList()
Private Sub FillMyTreeView()
' Add customers to the ArrayList of Customer objects.
Dim x As Integer
For x = 0 To 999
customerArray.Add(New Customer("Customer" + x.ToString()))
Next x
' Add orders to each Customer object in the ArrayList.
Dim customer1 As Customer
For Each customer1 In customerArray
Dim y As Integer
For y = 0 To 14
customer1.CustomerOrders.Add(New Order("Order" + y.ToString()))
Next y
Next customer1
' Display a wait cursor while the TreeNodes are being created.
Cursor.Current = New Cursor("MyWait.cur")
' Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate()
' Clear the TreeView each time the method is called.
treeView1.Nodes.Clear()
' Add a root TreeNode for each Customer object in the ArrayList.
Dim customer2 As Customer
For Each customer2 In customerArray
treeView1.Nodes.Add(New TreeNode(customer2.CustomerName))
' Add a child TreeNode for each Order object in the current Customer object.
Dim order1 As Order
For Each order1 In customer2.CustomerOrders
treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _
New TreeNode(customer2.CustomerName + "." + order1.OrderID))
Next order1
Next customer2
' Reset the cursor to the default for all controls.
Cursor.Current = System.Windows.Forms.Cursors.Default
' Begin repainting the TreeView.
treeView1.EndUpdate()
End Sub
Comentarios
Esta versión del Add método permite agregar objetos creados TreeNode previamente al final de la colección de nodos de árbol.
También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
Para quitar un TreeNode objeto que agregó anteriormente, use los Removemétodos , RemoveAto Clear .
Nota
Un TreeNode control solo se puede asignar a un TreeView control a la vez. Para agregar el nodo de árbol a un nuevo control de vista de árbol, primero debe quitarlo de la otra vista de árbol o clonarlo.
Consulte también
Se aplica a
Add(String, String)
Crea un nuevo nodo de árbol con la clave y texto especificados y lo agrega a la colección.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text);
public virtual System.Windows.Forms.TreeNode Add (string key, string text);
public virtual System.Windows.Forms.TreeNode Add (string? key, string? text);
abstract member Add : string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String) As TreeNode
Parámetros
- key
- String
Nombre del nodo de árbol.
- text
- String
Texto que se va a mostrar en el nodo de árbol.
Devoluciones
TreeNode que se agregó a la colección.
Comentarios
La Name propiedad corresponde a la clave de en TreeNode .TreeNodeCollection
También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
Se aplica a
Add(String, String, Int32)
Crea un nodo de árbol con la clave, texto e imagen especificados y lo agrega a la colección.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex);
public virtual System.Windows.Forms.TreeNode Add (string key, string text, int imageIndex);
public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, int imageIndex);
abstract member Add : string * string * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer) As TreeNode
Parámetros
- key
- String
Nombre del nodo de árbol.
- text
- String
Texto que se va a mostrar en el nodo de árbol.
- imageIndex
- Int32
Índice de la imagen que se va a mostrar en el nodo de árbol.
Devoluciones
TreeNode que se agregó a la colección.
Comentarios
La Name propiedad corresponde a la clave de en TreeNode .TreeNodeCollection
El imageIndex
parámetro hace referencia a una imagen de la ImageList propiedad del elemento primario TreeView.
El nodo de árbol se agrega al final de la colección. También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
Se aplica a
Add(String, String, String)
Crea un nodo de árbol con la clave, texto e imagen especificados y lo agrega a la colección.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey);
public virtual System.Windows.Forms.TreeNode Add (string key, string text, string imageKey);
public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, string? imageKey);
abstract member Add : string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String) As TreeNode
Parámetros
- key
- String
Nombre del nodo de árbol.
- text
- String
Texto que se va a mostrar en el nodo de árbol.
- imageKey
- String
Imagen que se va a mostrar en el nodo de árbol.
Devoluciones
TreeNode que se agregó a la colección.
Comentarios
La Name propiedad corresponde a la clave de en TreeNode .TreeNodeCollection
El nodo de árbol se agrega al final de la colección. También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
El imageKey
parámetro hace referencia a una imagen de la ImageList propiedad del elemento primario TreeView.
Se aplica a
Add(String, String, Int32, Int32)
Crea un nodo de árbol con la clave, texto e imágenes especificados y lo agrega a la colección.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex, int selectedImageIndex);
public virtual System.Windows.Forms.TreeNode Add (string key, string text, int imageIndex, int selectedImageIndex);
public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, int imageIndex, int selectedImageIndex);
abstract member Add : string * string * int * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int * int -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer, selectedImageIndex As Integer) As TreeNode
Parámetros
- key
- String
Nombre del nodo de árbol.
- text
- String
Texto que se va a mostrar en el nodo de árbol.
- imageIndex
- Int32
Índice de la imagen que se va a mostrar en el nodo de árbol.
- selectedImageIndex
- Int32
Índice de la imagen que se va a mostrar en el nodo de árbol cuando está en un estado seleccionado.
Devoluciones
Nodo de árbol agregado a la colección.
Comentarios
La Name propiedad corresponde a la clave de en TreeNode .TreeNodeCollection
El nodo de árbol se agrega al final de la colección. También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
El imageIndex
parámetro hace referencia a una imagen de la ImageList propiedad del elemento primario TreeView.
El selectedImageIndex
parámetro hace referencia a una imagen de la StateImageList propiedad del elemento primario TreeView.
Se aplica a
Add(String, String, String, String)
Crea un nodo de árbol con la clave, texto e imágenes especificados y lo agrega a la colección.
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey, System::String ^ selectedImageKey);
public virtual System.Windows.Forms.TreeNode Add (string key, string text, string imageKey, string selectedImageKey);
public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, string? imageKey, string? selectedImageKey);
abstract member Add : string * string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String, selectedImageKey As String) As TreeNode
Parámetros
- key
- String
Nombre del nodo de árbol.
- text
- String
Texto que se va a mostrar en el nodo de árbol.
- imageKey
- String
Clave de la imagen que se va a mostrar en el nodo de árbol.
- selectedImageKey
- String
La clave de la imagen que se va a mostrar cuando el nodo de árbol está seleccionado.
Devoluciones
TreeNode que se agregó a la colección.
Comentarios
La Name propiedad corresponde a la clave de en TreeNode .TreeNodeCollection
El nodo de árbol se agrega al final de la colección. También puede agregar nuevos TreeNode objetos a la colección mediante los AddRange métodos o Insert .
El imageKey
parámetro hace referencia a una imagen de la ImageList propiedad del elemento primario TreeView.
El selectedImageKey
parámetro hace referencia a una imagen de la StateImageList propiedad del elemento primario TreeView.