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: Select all the leaf nodes using AfterSelect event