添加:
TreeNode AddNode(TreeView tree)
{
TreeNode newNode = new TreeNode();
 newNode.Text = "Name";
                newNode.Tag = Object对象;
                newNode.SelectedImageKey = "select_imag"; 
                newNode.ImageKey = "root_image";  
                tree.Nodes.Add(newNode);
                 return newNode;
}
//这是关键的让新建立的结点 设置成该树的当前选择结点
tree.SelectedNode = newNode删除:
   private TreeNode DelNode(TreeView tree)
        {
            TreeNode selectNode = tree.SelectedNode;
            TreeNode parentNode = null;
            if (selectNode.ImageKey == "root_image")
            {
                tree.SelectedNode.Remove();
                int nCount = tree.Nodes.Count;
                if (nCount > 0)
                    return tree.Nodes[nCount - 1];
                else
                    return null;            }
            else if (selectNode.ImageKey == "child_image")
            {
                parentNode = selectNode.Parent;
                tree.SelectedNode.Remove();
                int nCount = parentNode.Nodes.Count;
                if (nCount > 0)
                    return parentNode.Nodes[nCount - 1];
                else
                    return parentNode;
            }
            else if (selectNode.ImageKey == "child_child_image")
            {
                parentNode = selectNode.Parent;
                tree.SelectedNode.Remove();
                int nCount = parentNode.Nodes.Count;
                if (nCount > 0)
                    return parentNode.Nodes[nCount - 1];
                else
                    return parentNode;
            }
            return null;
        }
// 设置成该树的当前选择结点
TreeNode newNode =DelNode(TreeView tree);
tree.SelectedNode = newNode 修改简单:略