Private Sub DirectoryTreeView_AfterCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles MyBase.AfterCheck ' for some reason I have to Expand all child nodes to get them checked e.Node.ExpandAll() Dim onode As TreeNode For Each onode In e.Node.Nodes onode.Checked = True Next End If2) Is there a method to tell what has been checked similar to the checked list box? I would hate to have to loop through the entire treeview to check for checked :)