public void RemoveMarkedTreeNode(TreeNode node) { MarkedTreeNode toRemove = null; foreach (MarkedTreeNode markedTreeNode in MarkedTreeNodes) { if (markedTreeNode.TreeNode == node) { toRemove = markedTreeNode; break; } } if (toRemove != null) { MarkedTreeNodes.Remove(toRemove); } }
public void AddMarkedTreeNode(TreeNode node) { RemoveMarkedTreeNode(node); // ensure no duplicate bool inserted = false; foreach (MarkedTreeNode marked in MarkedTreeNodes) { if (node.IsBefore(marked.TreeNode)) { MarkedTreeNodes.Insert(MarkedTreeNodes.IndexOf(marked), new MarkedTreeNode(node)); inserted = true; break; } } if (!inserted) { MarkedTreeNodes.Add(new MarkedTreeNode(node)); } }