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)
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.TreeNode
Public Overridable Function Add (text As String) As TreeNode
Parameters
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)
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 -> int
Public Overridable Function Add (node As TreeNode) As Integer
Parameters
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)
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.TreeNode
Public Overridable Function Add (key As String, text As String) As TreeNode
Parameters
- 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)
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.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer) As TreeNode
Parameters
- 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)
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.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String) As TreeNode
Parameters
- 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)
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.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer, selectedImageIndex As Integer) As TreeNode
Parameters
- 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)
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.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String, selectedImageKey As String) As TreeNode
Parameters
- 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.