How to select all the leaf nodes of the parent node?
(Views :1174)

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
::adCenter::