When I programmatically collapse a TreeView node like this: treeView1.Nodes[0].Collapse(), all of the children nodes collapse under it, which is really annoying. This doesn't happen when you manually click on the node to collapse it and the children nodes remember their collapsed/expanded state. How do I prevent this from happening?