Category / Section
How to persist TreeNodeAdv selection in WinForms TreeViewAdv?
1 min read
Persist the treenode selection
In TreeViewAdv, Child Node selection will not be persisting upon expand or collapse functionality. This Node selection can be maintained by handling its events named BeforeCollapse and AfterExpand.
BeforeCollapse
This event will be raised before TreeNodeAdv collapse. In this event, selected node can be stored.
AfterExpand
This event will be raised after TreeNodeAdv expands. In this event, stored node details can be used to persist the selected node.
C#
//TreeViewAdv1_BeforeCollapse event stores the Selected node before the parent node collapse. void treeViewAdv1_BeforeCollapse(object sender, TreeViewAdvCancelableNodeEventArgs e) { node = this.treeViewAdv1.SelectedNode; } //TreeViewAdv1_AfterExpand event persists the selection when the Parent node is expanded again void treeViewAdv1_AfterExpand(object sender, TreeViewAdvNodeEventArgs e) { if(!this.treeViewAdv1.SelectedNode.IsSelectable) this.treeViewAdv1.SelectedNode = node; }
VB
‘BeforeCollapse event stores the Selected node before the parent node collapse. Private Sub treeViewAdv1_BeforeCollapse(ByVal sender As Object, ByVal e As TreeViewAdvCancelableNodeEventArgs) node = Me.treeViewAdv1.SelectedNode End Sub ‘AfterExpand event persists the selection when the Parent node is expanded again Private Sub treeViewAdv1_AfterExpand(ByVal sender As Object, ByVal e As TreeViewAdvNodeEventArgs) If Not Me.treseViewAdv1.SelectedNode.IsSelectable Then Me.treeViewAdv1.SelectedNode = node End If End Sub
Screenshot
Figure 1. Displays selected Child after Parent Collapse and expand
Samples: