I don't quite understand the problem. You're asking how to add a root node but you say you have no problem adding a node to the TreeView. You say you don't know how to find which node is selected yet the code you posted uses the SelectedNode property. What exactly is the issue? Are you saying that you don't know how to select the actual TreeView to be able to add a root node via the code you posted? If that's the case then the answer is that you can't. You would either have to provide a single root node, like My Computer in Windows Explorer, that the user could select and you could then add a new child node to using code similar to what you posted, or else add a seperate operation that specifically added a root node. If that's not the issue then please be more specific.