C # decompressing all winform Treeview checkbox
Private void treeviewappsaftercheck (Object sender, treevieweventargs E)
{
If (E. Action! = Treeviewaction. Unknown)
{
/*
* Because the status of each node check box changes, the aftercheck event is triggered,
* To avoid entering recursion infinitely, We need to judge the status of treeviewaction,
* The treeviewaction status of all nodes automatically selected by the Code is unknown,
* This prevents problems when calling the recursive process.
*/
Checkallchildnodes (E. node, E. node. Checked );
// Select the parent node when all child nodes are selected
Bool bolchecked = true;
If (E. node. parent! = NULL)
{
For (INT I = 0; I <E. node. Parent. nodes. Count; I ++)
{
If (E. node. Parent. nodes [I]. Checked = false)
Bolchecked = false;
}
E. node. Parent. Checked = bolchecked;
}
}
}
Public void checkallchildnodes (treenode, bool nodechecked)
{
Foreach (treenode node in treenode. nodes)
{
Node. Checked = nodechecked;
If (node. nodes. Count> 0)
{
This. checkallchildnodes (node, nodechecked );
}
}
}