Category / Section
How to select all the leaf nodes of the parent node in WinForms TreeViewAdv?
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