TreeNode.Toggle Method

Toggles the tree node to either the expanded or collapsed state.

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

public void Toggle()

The tree node is toggled to the state opposite its current state, either expanded or collapsed.


The state of a TreeNode is persisted. For example, if the next level of child nodes was not collapsed previously, when the Expand method is called, the child nodes appear in their previously expanded state.

The following code example removes a TreeNode when the user right-clicks the mouse over it and toggles it from expanded to collapsed when the user clicks the mouse wheel over it. This example requires that you have a Form with a TreeView control on it. The TreeView should have two or more root tree nodes, each having at least one child node.

private void treeView1_MouseDown(object sender, MouseEventArgs e)
      // Remove the TreeNode under the mouse cursor  
      // if the right mouse button was clicked.  
      case MouseButtons.Right:
         treeView1.GetNodeAt(e.X, e.Y).Remove();

      // Toggle the TreeNode under the mouse cursor  
      // if the middle mouse button (mouse wheel) was clicked.  
      case MouseButtons.Middle:
         treeView1.GetNodeAt(e.X, e.Y).Toggle();

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft