/// <summary> /// Adds a node to the tree /// </summary> /// <param name="to">where to add the node</param> /// <param name="node">the node added</param> protected void AddNode(TreeNodeCollection to, CustomNode node, bool editafter) { to.Add(node); SelectedNode = node; if (editafter) { SelectedNode.BeginEdit(); } }
/// <summary> /// Finds the parent of the currently selected node and will add a new node to the parent /// </summary> /// <param name="node">node to be added</param> public void FindParentAndAdd(CustomNode node, bool editafter = true) { if (SelectedNode == null) { AddNode(Nodes, node, editafter); return; } if (SelectedNode is FolderNode) { SelectedNode.Expand(); AddNode(SelectedNode.Nodes, node, editafter); return; } else { SelectedNode = SelectedNode.Parent; FindParentAndAdd(node, editafter); } }