Category / Section
How to select all the leaf nodes of the parent node in WinForms TreeViewAdv?
1 min read
AfterSelect event
We can select all the leaf nodes of the parent node by just selecting the parent node by handling the AfterSelect Event handler.
C#
private void treeViewAdv1_AfterSelect(object sender, System.EventArgs e) { TreeNodeAdvCollection tn = new TreeNodeAdvCollection(); foreach (TreeNodeAdv n in this.treeViewAdv1.SelectedNodes) { this.AddChildren(tn, n); } foreach (TreeNodeAdv n in tn) { this.treeViewAdv1.SelectedNodes.Add(n); } } private void AddChildren(TreeNodeAdvCollection tn, TreeNodeAdv n) { foreach (TreeNodeAdv child in n.Nodes) { tn.Add(child); this.AddChildren(tn, child); } }
VB
Private Sub treeViewAdv1_AfterSelect(ByVal sender As Object, ByVal e As System.EventArgs) Dim tn As TreeNodeAdvCollection = New TreeNodeAdvCollection() For Each n As TreeNodeAdv In Me.treeViewAdv1.SelectedNodes Me.AddChildren(tn, n) Next n For Each n As TreeNodeAdv In tn Me.treeViewAdv1.SelectedNodes.Add(n) Next n End Sub Private Sub AddChildren(ByVal tn As TreeNodeAdvCollection, ByVal n As TreeNodeAdv) For Each child As TreeNodeAdv In n.Nodes tn.Add(child) Me.AddChildren(tn, child) Next child End Sub
Reference link: https://help.syncfusion.com/windowsforms/treeview/treenodeadvcustomization#afterselect-event