TreeNode Constructor (String^, array<TreeNode^>^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Initializes a new instance of the TreeNode class with the specified label text and child tree nodes.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

	String^ text,
	array<TreeNode^>^ children


Type: System::String^

The label Text of the new tree node.

Type: array<System.Windows.Forms::TreeNode^>^

An array of child TreeNode objects.

The text parameter value is assigned to the node's Text property and becomes the tree node label. The tree nodes that are contained in the children array are added to the TreeNodeCollection that is stored in the Nodes property.

The following code example creates a root tree node to assign child tree nodes to. A child tree node for each Customer object in an ArrayList is added to the root tree node as well as a child tree node for each Order object assigned to the Customer object. The Customer object is assigned to the Tag property, and the tree nodes representing Customer objects are displayed with Orange text. This example requires that you have a Customer and Order object defined, a TreeView control on a Form, and an ArrayList named customerArray that contains Customer objects.

ref class Customer
   ArrayList^ CustomerOrders;
   String^ CustomerName;
   Customer( String^ myName )
      CustomerName = myName;
      CustomerOrders = gcnew ArrayList;


ref class Order
   String^ OrderID;
   Order( String^ myOrderID )
      this->OrderID = myOrderID;


   void AddRootNodes()

      // Add a root node to assign the customer nodes to.
      TreeNode^ rootNode = gcnew TreeNode;
      rootNode->Text = "CustomerList";

      // Add a main root treenode.
      myTreeView->Nodes->Add( rootNode );

      // Add a root treenode for each 'Customer' object in the ArrayList.
      IEnumerator^ myEnum = customerArray->GetEnumerator();
      while ( myEnum->MoveNext() )
         Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current);

         // Add a child treenode for each Order object.
         int i = 0;
         array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(5);
         IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator();
         while ( myEnum->MoveNext() )
            Order^ myOrder = safe_cast<Order^>(myEnum->Current);
            myTreeNodeArray[ i ] = gcnew TreeNode( myOrder->OrderID );
         TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,myTreeNodeArray );

         // Display the customer names with and Orange font.
         customerNode->ForeColor = Color::Orange;

         // Store the Customer Object* in the Tag property of the TreeNode.
         customerNode->Tag = myCustomer;
         myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode );

.NET Framework
Available since 1.1
Return to top