IMPROVE - FilterPredicate should allow passing a parameter as argument to the predicate method implemented new generic Find<> and FindNodes<>, support callbacks amd lamba expression: public TreeViewSelection() { InitializeComponent(); treeView.Dock = DockStyle.Fill; treeView.Parent = this.panel1; treeView.MultiSelect = true; treeView.Nodes.Add("1"); treeView.Nodes.Add("2"); treeView.Nodes.Add("2"); treeView.Nodes.Add("2"); treeView.Nodes[0].Nodes.Add("11"); treeView.Nodes[0].Nodes.Add("12"); treeView.Nodes[0].Nodes.Add("13"); RadTreeNode node = this.treeView.Find<string>(FindName, "11"); node = this.treeView.Find<string>((n, x) => n.Name == x, "12"); } private bool FindName(RadTreeNode node, string name) { if (node.Text == name) { return true; } return false; }