See the question and my original answer on StackOverflow

That's weird! Looks like a bug to me... You should report it to the connect site.

One solution if you really want to hook on the handle creation is to derive from TreeView, like this, and use this class instead of the standard TreeView:

public class MyTreeView : TreeView
{
    protected override void OnHandleCreated(EventArgs e)
    {
        base.OnHandleCreated(e);
        Nodes.Add(new TreeNode("A Node"));
    }
}