We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies


This advanced WinForms TreeView control has extensive customization options, and a data-bound mode to visualize a grouped view of relational data easily.

Windows forms treeview control

Data binding

Data binding support is provided for all tables, collections of tables, custom objects, and more. A data source can be bound at the designer level.

Data binding in windows forms treeview control

Selection modes

Single or multiple nodes can be selected in a treeview. Selected nodes can be dragged within or outside the tree using OLE drag-and-drop. While using multiple-selection mode, you can specify whether to allow nodes to be selected within the same level or across different levels.

load on demand in winforms treeview

Load on demand

The advanced TreeView control can display large amounts of data. It lets users bind trees to huge data sets and load and expand nodes on demand.

Context menus

Display a context menu by right-clicking a tree node.

WinForms treeview context menu

Custom checkbox and radio button

Users can draw their own checkboxes and radio buttons inside a tree node.

WinForms TreeViewAdv Custom checkbox and radio button

windows forms treeview editing


The labels of individual tree nodes can be edited at run-time. The following illustrates a node label being edited.

Editing documentation


The style architecture employed by the advanced TreeView control lets users define unique styles for different parts of a tree. Each node then inherits these different styles before being rendered. The different styles users can specify in the tree by order of inheritance are:

  • Global: Defined in a tree view instance
  • Child: Defined in a parent node that applies to all immediate children of the parent node.
  • Node level: Defined for nodes at a particular level in the tree.
  • Node specific: Defined in each node. In addition, users can define base styles that can be inherited when defining any of these styles.

Styling documentation

windows forms treeview styling

windows forms treeview sorting


Sort nodes at any level using the text, check box, and tag properties, or customize the sort key on which sorting is performed.

Sorting documentation


Use TreeViewPrintDocument to convert the TreeView content into a printable document.

Printing documentation

windows forms treeview printing

winforms treeview with xml file


The WinForms TreeView control’s architecture provides a seamless way to consume information from hierarchical data sources, and display it. This allows users to bind XML data from a variety of sources such as external XML files, and data set objects.

Search and replace in a specific tree node.

windows forms treeview search

WinForms TreeView Code Example

Easily get started with the WinForms TreeView using a few simple lines of C# code example as demonstrated below. Also explore our WinForms TreeView Example that shows you how to render and configure the TreeView in WinForms.

using Syncfusion.Windows.Forms.Tools;
namespace Syncfusion
    public partial class Form1 : Form
        public Form1()
            TreeViewAdv treeView = new TreeViewAdv();
            TreeNodeAdv treeNode1 = new TreeNodeAdv("Node1") { Name = "Node1", Text = "Child1"};
            TreeNodeAdv treeNode2 = new TreeNodeAdv("Node0", new TreeNodeAdv[] {
            treeNode1}){ Name = "Node0", Text = "Parent" };
            TreeNodeAdv treeNode3 = new TreeNodeAdv("Node3") { Name = "Node3", Text = "Child1" };
            TreeNodeAdv treeNode4 = new TreeNodeAdv("Node2", new TreeNodeAdv[] { treeNode3 }) { Name = "Node2", Text = "Parent1" };
            TreeNodeAdv treeNode5 = new TreeNodeAdv("Node5") { Name = "Node5", Text = "Child1" };
            TreeNodeAdv treeNode6 = new TreeNodeAdv("Node4", new TreeNodeAdv[] { treeNode5 }) { Name = "Node4", Text = "Parent2" };
            treeView.Nodes.AddRange(new TreeNodeAdv[] {


Frequently Asked Questions

The Syncfusion WinForms TreeView provides the following features:

  • Optimized virtualization support enables users to load large amount of data.
  • Bind hierarchical data or add unbound tree nodes.
  • Select one or more nodes with the different modes of selection.
  • Show checkbox or radio button in each node for interactions.
  • Load nodes when it’s required through lazy loading.
  • Dynamically sort the nodes.
  • Drag and drop the node from one position to another.
  • Easy to customize the appearance of nodes.
  • One of the best WinForms TreeView in the market that offers feature-rich UI to interact with the software.
  • Extensive demos and documentation to learn quickly and get started with WinForms TreeView.

You can find our WinForms TreeView demo on GitHub location.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version
Download Free Trial No credit card required.

Syncfusion Windows Forms Resources


Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon
Live Chat Icon For mobile