The Property Builder is the main design tool for building tree views interactively. Invoke the dialog from the 
right-click context menu or from the Smart Tag.
Use the left panel to build the tree structure. The set of buttons at the top handle adding, deleting and moving 
nodes.
[VB] Handling the Load Event Handler
Private Sub RadForm1_Load(sender As Object, e As EventArgs)
ThemeResolutionService.ApplicationThemeName = "Office2007Silver"
Dim node As RadTreeNode = radTreeView1.Nodes("Email Contacts").Nodes.Add("Bob 
Tony")
node.Selected = True
radTreeView1.Nodes("Email Contacts").Nodes.Add("Sue Winchell")
radTreeView1.Nodes("Email Contacts").Nodes.Add("Lui Sang")
radTreeView1.Nodes("Lists").Nodes.Add("Priorities")
radTreeView1.Nodes("Lists").Nodes.Add("Opportunities")
radTreeView1.Nodes("Lists").Nodes.Add("Issues")
node = radTreeView1.Nodes("Reports").Nodes.Add("June Sales")
node.ContextMenu = radContextMenu1.DropDown
node = radTreeView1.Nodes("Reports").Nodes.Add("July Sales")
node.ContextMenu = radContextMenu1.DropDown
node = radTreeView1.Nodes("Reports").Nodes.Add("First Quarter Summary")
node.ContextMenu = radContextMenu1.DropDown
node = radTreeView1.Nodes("Reports").Nodes.Add("Second Quarter Summary")
node.ContextMenu = radContextMenu1.DropDown
End Sub
[C#] Handling the Load Event Handler
private void RadForm1_Load(object sender, EventArgs e)
{
ThemeResolutionService.ApplicationThemeName = "Office2007Silver";
RadTreeNode node =
radTreeView1.Nodes["Email Contacts"].Nodes.Add("Bob Tony");
node.Selected = true;
radTreeView1.Nodes["Email Contacts"].Nodes.Add("Sue Winchell");
radTreeView1.Nodes["Email Contacts"].Nodes.Add("Lui Sang");
radTreeView1.Nodes["Lists"].Nodes.Add("Priorities");
radTreeView1.Nodes["Lists"].Nodes.Add("Opportunities");
radTreeView1.Nodes["Lists"].Nodes.Add("Issues");
node = radTreeView1.Nodes["Reports"].Nodes.Add("June Sales");
node.ContextMenu = radContextMenu1.DropDown;
node = radTreeView1.Nodes["Reports"].Nodes.Add("July Sales");
node.ContextMenu = radContextMenu1.DropDown;
node = radTreeView1.Nodes["Reports"].Nodes.Add("First Quarter Summary");
node.ContextMenu = radContextMenu1.DropDown;
node = radTreeView1.Nodes["Reports"].Nodes.Add("Second Quarter Summary");
node.ContextMenu = radContextMenu1.DropDown;
}
21.4 Using the Design Time Interface
 
RadControls for Winforms
573
RadControls for Winforms
Delete a page from a pdf online - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages from pdf in reader; add and remove pages from pdf file online
Delete a page from a pdf online - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete a page from a pdf acrobat; delete pages from pdf reader
Below the strip of buttons you'll see the "RadTreeView" link. Select this link to view tree view level properties 
in the right hand pane of the dialog.
RadControls for Winforms
574
RadControls for Winforms
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Provides you with examples for adding an (empty) page to a PDF and adding empty pages You may feel free to define some continuous PDF pages and delete.
delete page from pdf reader; delete page from pdf preview
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages;
delete page from pdf online; delete page in pdf
Below the "RadTreeView" link is a representation of the nodes as they will appear on the form. Click individual 
nodes to set node-level properties or use button to delete or move them.
Use the button found on the far right side of the dialog to toggle between "Expert Mode" and "Basic Mode". Use 
Expert Mode to get a full list of properties for the RadTreeView or selected RadTreeNode.
RadControls for Winforms
575
RadControls for Winforms
C# PDF Page Insert Library: insert pages into PDF file in C#.net
Free components and online source codes for .NET framework 2.0+. PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C#
delete blank pages in pdf files; add and delete pages from pdf
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages;
delete a page from a pdf; delete pdf pages in reader
Working with Nodes
Add Nodes
Instead of an Items collection, RadTreeView has a Nodes collection. There are several options to adding new 
nodes. You can create a new RadTreeNode using one of several constructors and add it to the collection:
Each RadTreeNode in the collection has its own Nodes collection. You can use the Nodes.Add() method and pass 
the method a Text property string.
21.5 Programming the Tree View
[VB] Adding a Root Node
Dim rootNode As New RadTreeNode("Root")
radTreeView1.Nodes.Add(rootNode) 
[C#] Adding a Root Node
RadTreeNode rootNode = new RadTreeNode("Root");
radTreeView1.Nodes.Add(rootNode);     
[VB] Adding Child Nodes
Dim rootNode As New RadTreeNode("Root")
radTreeView1.Nodes.Add(rootNode)
rootNode.Nodes.Add("Child Node 1")
rootNode.Nodes.Add("Child Node 2")
rootNode.Nodes.Add("Child Node 3"
[C#] Adding Child Nodes
RadTreeNode rootNode = new RadTreeNode("Root");
radTreeView1.Nodes.Add(rootNode);
rootNode.Nodes.Add("Child Node 1");
rootNode.Nodes.Add("Child Node 2");
rootNode.Nodes.Add("Child Node 3");
 
RadControls for Winforms
576
RadControls for Winforms
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
in VB.NET. Ability to create a blank PDF page with related by using following online VB.NET source code. Support .NET WinForms, ASP
delete blank pages in pdf online; pdf delete page
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages;
delete pages of pdf preview; cut pages from pdf preview
 
Here's a slightly more complicated example with three levels of nodes. Notice that the Nodes.Add() method 
returns the RadTreeNode that was added to the collection.
If you have a string that describes a hierarchy (a file path, or an organization chart for example) and is 
delimited with a specific character, the RadTreeView AddNodeByPath() method will automatically place nodes 
to the correct level of the hierarchy. Before calling the method, set the PathSeparator property to the 
delimeter character.
[VB] Adding Multiple Levels of Nodes
Dim rootNode As New RadTreeNode("Root")
radTreeView1.Nodes.Add(rootNode)
rootNode.Nodes.Add("Child Node 1")
rootNode.Nodes.Add("Child Node 2")
rootNode.Nodes.Add("Child Node 3")
Dim childNode4 As RadTreeNode = rootNode.Nodes.Add("Child Node 4")
rootNode.Nodes.Add("Child Node 5")
childNode4.Nodes.Add("Child Node 4 A")
childNode4.Nodes.Add("Child Node 4 B")
childNode4.Nodes.Add("Child Node 4 C")
radTreeView1.ExpandAll() 
[C#] Adding Multiple Levels of Nodes
RadTreeNode rootNode = new RadTreeNode("Root");
radTreeView1.Nodes.Add(rootNode);
rootNode.Nodes.Add("Child Node 1");
rootNode.Nodes.Add("Child Node 2");
rootNode.Nodes.Add("Child Node 3");
RadTreeNode childNode4 = rootNode.Nodes.Add("Child Node 4");
rootNode.Nodes.Add("Child Node 5");
childNode4.Nodes.Add("Child Node 4 A");
childNode4.Nodes.Add("Child Node 4 B");
childNode4.Nodes.Add("Child Node 4 C");
radTreeView1.ExpandAll();  
[VB] Adding Nodes by Path
Dim places As String() = {"universe""universe/planet"
"universe/planet/continent""universe/planet/continent/region"}
Me.radTreeView1.PathSeparator = "/"
For Each place As String In places
radTreeView1.AddNodeByPath(place)
RadControls for Winforms
577
RadControls for Winforms
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
Ability to insert a text note after selected text. Allow users to draw freehand shapes on PDF page. VB.NET HTML5 PDF Viewer: Annotate PDF Online.
delete blank page in pdf online; copy page from pdf
C# PDF remove image library: remove, delete images from PDF in C#.
Delete and remove all image objects contained in a specific to remove a specific image from PDF document page. Free .NET PDF SDK library download and online C#
delete blank page from pdf; delete pages pdf preview
Selecting Nodes
By default the AllowMultiselect property is False and you can use the SelectedNode property to retrieve the 
single node. If you set AllowMultiselect to True, use the SelectedNodes collection. This example iterates the 
selected nodes and changes the background colors for each node.
Next
[C#] Adding Nodes by Path
string[] places = {
"universe",
"universe/planet",
"universe/planet/continent",
"universe/planet/continent/region"};
this.radTreeView1.PathSeparator = "/";
foreach (string place in places)
{
radTreeView1.AddNodeByPath(place);
}
[VB] Iterating Selected Nodes
Private Sub btnSelectedNodes_Click(sender As Object, e As EventArgs)
For Each node As RadTreeNode In radTreeView1.SelectedNodes
node.BackColor = Color.AliceBlue
node.BackColor2 = Color.LightBlue
node.BackColor3 = Color.PaleTurquoise
node.BackColor4 = Color.CornflowerBlue
Next
End Sub
[C#] Iterating Selected nodes
private void btnSelectedNodes_Click(object sender, EventArgs e)
{
foreach (RadTreeNode node in radTreeView1.SelectedNodes)
{
node.BackColor = Color.AliceBlue;
node.BackColor2 = Color.LightBlue;
node.BackColor3 = Color.PaleTurquoise;
node.BackColor4 = Color.CornflowerBlue;
}
}
RadControls for Winforms
578
RadControls for Winforms
Move Nodes
Some operations require nodes to be reordered within the collection using the Nodes collection Move() method. 
The method takes the index of the node to be moved and the index of its new location. Here's an example that 
moves the selected node to last place amoung its siblings.
 
[VB] Relocating Nodes
Private Sub btnReorder_Click(sender As Object, e As EventArgs)
' move selected node to the end of the list
' Note: Parent and Index properties are deprecated only for "getters"
If (radTreeView1.SelectedNode <> NothingAndAlso (radTreeView1.SelectedNode.Parent 
<> NothingThen
Dim nodes As RadTreeNodeCollection = radTreeView1.SelectedNode.Parent.Nodes
nodes.Move(radTreeView1.SelectedNode.Index, nodes.Count - 1)
End If
End Sub
[C#] Relocating Nodes
private void btnReorder_Click(object sender, EventArgs e)
{
// move selected node to the end of the list
// Note: Parent and Index properties are deprecated only for "getters"
if ((radTreeView1.SelectedNode != null) &&
(radTreeView1.SelectedNode.Parent != null))
{
RadTreeNodeCollection nodes = radTreeView1.SelectedNode.Parent.Nodes;
nodes.Move(radTreeView1.SelectedNode.Index, nodes.Count - 1);
}
}
You may notice warnings for the Parent and Index properties. This is because the properties are marked as 
RadControls for Winforms
579
RadControls for Winforms
Locating Nodes
The Find() method compares the value of the Name property of nodes with the given search string (like the 
standard WinForms TreeView control). Set the second parameter to true if you want to search down through all 
child nodes.
You can also use the Nodes collection using node Text as the index.
You may want to search recursively for Text or some other node property. Use the general pattern below to 
recurse through the Nodes collection. Also notice that you can set the Selected property for each node. If the 
collection of Nodes scrolls completely off the viewable area, you can call the RadTreeView BringIntoView()
method to scroll a particular node into view.
"obsolete". However, the entire property is not obsolete, only the property "setters" are being removed. 
You can still use both properties in their read-only capacity. 
[VB] Finding a Node by Name
Dim foundNodes As RadTreeNode() = radTreeView1.Nodes.Find("SearchFoldersNode"True)
RadMessageBox.Show(foundNodes(0).Text) 
[C#] Finding a Node by Name
RadTreeNode[] foundNodes = radTreeView1.Nodes.Find("SearchFoldersNode", true);  
RadMessageBox.Show(foundNodes[0].Text);  
[VB] Getting the Node by Text Value
radTreeView1.Nodes("Email Contacts"
[C#] Getting the Node by Text Value
radTreeView1.Nodes["Email Contacts"];  
[VB] Searching for a Node By Text
Private Sub btnSearch_Click(sender As Object, e As EventArgs)
Dim foundNode As RadTreeNode = FindNodeByText(radTreeView1.Nodes, tbSearch.Text)
If foundNode <> Nothing Then
foundNode.Selected = True
radTreeView1.BringIntoView(foundNode)
End If
End Sub
Function FindNodeByText(nodeCollection As RadTreeNodeCollection, text As StringAs
RadTreeNode
For Each node As RadTreeNode In nodeCollection
If (node.Text = text) AndAlso (node <> Me.radTreeView1.SelectedNode) Then
Return node
End If
Dim result As RadTreeNode = Me.FindNodeByText(node.Nodes, text)
If result <> Nothing Then
Return result
End If
Next
Return Nothing
End Function
[C#] Searching for a Node By Text
private void btnSearch_Click(object sender, EventArgs e)
{
RadTreeNode foundNode =
FindNodeByText(radTreeView1.Nodes, tbSearch.Text);
RadControls for Winforms
580
RadControls for Winforms
Using Commands
RadTreeView executes commands on a given set of nodes by using static Execute* methods of RadTreeView. 
These methods hide the complexity of the traversal algorithm and let you easily execute arbitrary actions over 
sub-trees of RadTreeNode objects. This way you do not have to worry about tree traversal algorithms and can 
concentrate on the action (or command) that you want to execute.
You can use RadTreeView methods ExecuteScalarCommand() and ExecuteBatchCommand() to implement a 
search. All you need to do is write a simple command that compares a node property to some value. Here is the 
code for the command:
if (foundNode != null)
{
foundNode.Selected = true;
radTreeView1.BringIntoView(foundNode);
}
}
RadTreeNode FindNodeByText(RadTreeNodeCollection nodeCollection, string text)
{
foreach (RadTreeNode node in nodeCollection)
{
if ((node.Text == text) && (node != this.radTreeView1.SelectedNode))
{
return node;
}
RadTreeNode result = this.FindNodeByText(node.Nodes, text);
if (result != null)
{
return result;
}
}
return null;
}
[VB] Implementing a Command
Imports System.Collections
Imports Telerik.WinControls.Commands
Imports Telerik.WinControls.UI
Namespace WorkingWithNodes
Public Class FindNodeByTextCommand
Inherits CommandBase
Public Overloads Overrides Function Execute(ParamArray settings As Object()) As
Object
If settings.Length > 1 AndAlso Me.CanExecute(settings(0)) Then
Dim node As RadTreeNode = TryCast(settings(0), RadTreeNode)
RadControls for Winforms
581
RadControls for Winforms
To execute the command call the ExecuteScalarCommand() method that returns a single object or 
Dim text As String = TryCast((TryCast(settings(1), IList))(0), String)
If node <> Nothing AndAlso Not String.IsNullOrEmpty(text) Then
If node.Text = text Then
Return node
End If
End If
End If
Return Nothing
End Function
Public Overloads Overrides Function CanExecute(parameter As ObjectAs Boolean
If TypeOf parameter Is RadTreeNode Then
Return True
End If
Return MyBase.CanExecute(parameter)
End Function
End Class
End Namespace
[C#] Implementing a Command
using System.Collections;
using Telerik.WinControls.Commands;
using Telerik.WinControls.UI;
namespace WorkingWithNodes
{
public class FindNodeByTextCommand : CommandBase
{
public override object Execute(params object[] settings)
{
if (settings.Length > 1 && this.CanExecute(settings[0]))
{
RadTreeNode node = settings[0] as RadTreeNode;
string text = (settings[1] as IList)[0] as string;
if (node != null && !string.IsNullOrEmpty(text))
{
if (node.Text == text)
{
return node;
}
}
}
return null;
}
public override bool CanExecute(object parameter)
{
if (parameter is RadTreeNode)
{
return true;
}
return base.CanExecute(parameter);
}
}
}
Commands are a Windows Presentation Foundation concept that translate nicely to Telerik WinControls. 
Commands descend from CommandBase and implement ICommand. You only need to override 
CanExecute() to allow the command to run and Execute() to perform the actual work of the command.
RadControls for Winforms
582
RadControls for Winforms
Documents you may be interested
Documents you may be interested