/// <summary> /// Graba recursivamente los nodos abiertos /// </summary> private void SaveOpenNodes(TreeNodeCollection trnNodeCollection) { foreach (TreeNode trnNode in trnNodeCollection) { if (IsNodeWithKey(trnNode) && trnNode.IsExpanded) { // Añade la clave del nodo a la colección objColNodesKeys.Add(trnNode.Tag as TreeNodeKey); // Graba los nodos hijos abiertos SaveOpenNodes(trnNode.Nodes); } } }
/// <summary> /// Obtiene una colección con los nodos seleccionados /// </summary> private void GetCheckedNodesRecursive(TreeNode trnNode, TreeNodeKeyCollection objColNodesKeys) { // Si el nodo está seleccionado, lo añade a la colección if (IsNodeWithKey(trnNode) && trnNode.Checked) { objColNodesKeys.Add(trnNode.Tag as TreeNodeKey); } // Recorre los nodos hijos foreach (TreeNode trnChild in trnNode.Nodes) { GetCheckedNodesRecursive(trnChild, objColNodesKeys); } }