TreeNodeCollection.Add Method   
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a new tree node to the collection.
Overloads
| Add(String) | Adds a new tree node with the specified label text to the end of the current tree node collection. | 
| Add(TreeNode) | Adds a previously created tree node to the end of the tree node collection. | 
| Add(String, String) | Creates a new tree node with the specified key and text, and adds it to the collection. | 
| Add(String, String, Int32) | Creates a tree node with the specified key, text, and image, and adds it to the collection. | 
| Add(String, String, String) | Creates a tree node with the specified key, text, and image, and adds it to the collection. | 
| Add(String, String, Int32, Int32) | Creates a tree node with the specified key, text, and images, and adds it to the collection. | 
| Add(String, String, String, String) | Creates a tree node with the specified key, text, and images, and adds it to the collection. | 
Add(String)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Adds a new tree node with the specified label text to the end of the current tree node collection.
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.TreeNodePublic Overridable Function Add (text As String) As TreeNodeParameters
Returns
A TreeNode that represents the tree node being added to the collection.
Examples
The following code example displays customer information in a TreeView control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the TreeView is suppressed by using the BeginUpdate and EndUpdate methods, and a wait Cursor is displayed while the TreeView creates and paints the TreeNode objects. This example requires that you have a Customer object that can hold a collection of Order objects. It also requires that you have created an instance of a TreeView control on a 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
Remarks
You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
To remove a TreeNode that you previously added, use the Remove, RemoveAt, or Clear methods.
See also
Applies to
Add(TreeNode)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Adds a previously created tree node to the end of the tree node collection.
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 -> intPublic Overridable Function Add (node As TreeNode) As IntegerParameters
Returns
The zero-based index value of the TreeNode added to the tree node collection.
Exceptions
The node is currently assigned to another TreeView.
Examples
The following code example displays customer information in a TreeView control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the TreeView is suppressed by using the BeginUpdate and EndUpdate methods, and a wait Cursor is displayed while the TreeView creates and paints the TreeNode objects. This example requires that you have a Customer object that can hold a collection of Order objects. It also requires that you have created an instance of a TreeView control on a 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
Remarks
This version of the Add method allows you to add previously created TreeNode objects to the end of the tree node collection.
You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
To remove a TreeNode that you previously added, use the Remove, RemoveAt, or Clear methods.
Note
A TreeNode can be assigned to only one TreeView control at a time. To add the tree node to a new tree view control, you must remove it from the other tree view first or clone it.
See also
Applies to
Add(String, String)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Creates a new tree node with the specified key and text, and adds it to the collection.
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.TreeNodePublic Overridable Function Add (key As String, text As String) As TreeNodeParameters
- key
- String
The name of the tree node.
- text
- String
The text to display in the tree node.
Returns
The TreeNode that was added to the collection.
Remarks
The Name property corresponds to the key for a TreeNode in the TreeNodeCollection.
You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
Applies to
Add(String, String, Int32)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Creates a tree node with the specified key, text, and image, and adds it to the collection.
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.TreeNodePublic Overridable Function Add (key As String, text As String, imageIndex As Integer) As TreeNodeParameters
- key
- String
The name of the tree node.
- text
- String
The text to display in the tree node.
- imageIndex
- Int32
The index of the image to display in the tree node.
Returns
The TreeNode that was added to the collection.
Remarks
The Name property corresponds to the key for a TreeNode in the TreeNodeCollection.
The imageIndex parameter refers to an image in the ImageList property of the parent TreeView.
The tree node is added to the end of the collection. You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
Applies to
Add(String, String, String)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Creates a tree node with the specified key, text, and image, and adds it to the collection.
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.TreeNodePublic Overridable Function Add (key As String, text As String, imageKey As String) As TreeNodeParameters
- key
- String
The name of the tree node.
- text
- String
The text to display in the tree node.
- imageKey
- String
The image to display in the tree node.
Returns
The TreeNode that was added to the collection.
Remarks
The Name property corresponds to the key for a TreeNode in the TreeNodeCollection.
The tree node is added to the end of the collection. You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
The imageKey parameter refers to an image in the ImageList property of the parent TreeView.
Applies to
Add(String, String, Int32, Int32)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Creates a tree node with the specified key, text, and images, and adds it to the collection.
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.TreeNodePublic Overridable Function Add (key As String, text As String, imageIndex As Integer, selectedImageIndex As Integer) As TreeNodeParameters
- key
- String
The name of the tree node.
- text
- String
The text to display in the tree node.
- imageIndex
- Int32
The index of the image to display in the tree node.
- selectedImageIndex
- Int32
The index of the image to be displayed in the tree node when it is in a selected state.
Returns
The tree node that was added to the collection.
Remarks
The Name property corresponds to the key for a TreeNode in the TreeNodeCollection.
The tree node is added to the end of the collection. You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
The imageIndex parameter refers to an image in the ImageList property of the parent TreeView.
The selectedImageIndex parameter refers to an image in the StateImageList property of the parent TreeView.
Applies to
Add(String, String, String, String)
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
- Source:
- TreeNodeCollection.cs
Creates a tree node with the specified key, text, and images, and adds it to the collection.
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.TreeNodePublic Overridable Function Add (key As String, text As String, imageKey As String, selectedImageKey As String) As TreeNodeParameters
- key
- String
The name of the tree node.
- text
- String
The text to display in the tree node.
- imageKey
- String
The key of the image to display in the tree node.
- selectedImageKey
- String
The key of the image to display when the node is in a selected state.
Returns
The TreeNode that was added to the collection.
Remarks
The Name property corresponds to the key for a TreeNode in the TreeNodeCollection.
The tree node is added to the end of the collection. You can also add new TreeNode objects to the collection by using the AddRange or Insert methods.
The imageKey parameter refers to an image in the ImageList property of the parent TreeView.
The selectedImageKey parameter refers to an image in the StateImageList property of the parent TreeView.