How to check/uncheck “child” nodes in a TreeView (C# & VB.NET)

Call this method from within your TreeView’s “AfterCheck” event. Pass it the AfterCheck event’s “sender” and “e” parameters.

C#
[csharp]
private void CheckChildren(object sender, TreeViewEventArgs e)
{
bool boolChecked = e.Node.Checked;

if (e.Node.Parent == null) // parent node
{
foreach (TreeNode node in e.Node.Nodes)
node.Checked = boolChecked;
}
}
[/csharp]

VB.NET:
[vbnet]
Private Sub CheckChildren(sender As Object, e As TreeViewEventArgs)
Dim boolChecked As Boolean = e.Node.Checked

If (e.Node.Parent Is Nothing) Then ‘ parent node
For Each tn As TreeNode In e.Node.Nodes
tn.Checked = boolChecked
Next
End If
End Sub
[/vbnet]