Пример #1
0
 /// <summary>
 /// 删除某个节点
 /// </summary>
 /// <param name="fileNode"></param>
 /// <param name="bAsk"></param>
 public static void DeleteNode(FileTreeNode fileNode, bool bAsk = true)
 {
     if (fileNode == null)
     {
         MessageBox.Show("Please Select A file or folder In ViewList !", "Error");
         return;
     }
     //获取用户输入
     if (bAsk)
     {
         DialogResult dr = MessageBox.Show("Are you sure to delete the selection file or folder ?", "Delete Asking", MessageBoxButtons.YesNo);
         if (dr != DialogResult.Yes)
         {
             return;
         }
     }
     //确认删除
     //首先从当前节点中删除掉这个节点
     CurrentNode.SubNodes.Remove(fileNode);
     if (fileNode.SubNodes != null)
     {
         //如果是一个文件夹,还需要去TreeView删除对应的TreeNode
         //寻找他的父节点
         TreeNode CurTreeNode = FindNodeInTree(uiTreeNode.TopNode, CurrentNode);
         TreeNode treeNode    = FindNodeInTree(uiTreeNode.TopNode, fileNode);
         //删除被删除的节点
         CurTreeNode.Nodes.Remove(treeNode);
     }
     //设置ListView
     TurnCurrentNode(CurrentNode);
     BLLControl.SaveDirectoryInfo();
 }
Пример #2
0
        /// <summary>
        /// 修改某个节点的节点名字[文件名或目录名]
        /// </summary>
        /// <param name="fileNode"></param>
        public static void RenameNode(FileTreeNode fileNode)
        {
            if (fileNode == null)
            {
                MessageBox.Show("Please Select A file or folder In ViewList !", "Error");
                return;
            }
            //获取用户输入
            string folderName = Interaction.InputBox("Please Set A name of your selection.");

            //如果为空,则忽略
            if (folderName == "")
            {
                return;
            }
            //首先修改节点名字
            fileNode.NodeName = folderName;
            //设置ListView
            TurnCurrentNode(CurrentNode);
            //如果是文件夹,那么修改TreeView的内容项
            if (fileNode.SubNodes != null)
            {
                //在TreeView中找到当前节点
                TreeNode treeNode = FindNodeInTree(uiTreeNode.TopNode, fileNode);
                treeNode.Text = fileNode.NodeName;
            }
            BLLControl.SaveDirectoryInfo();
        }
Пример #3
0
 /// <summary>
 /// 粘帖数据
 /// </summary>
 public static void PasteNode()
 {
     if (CutTemp == null)
     {
         return;
     }
     AddNode((FileTreeNode)CutTemp.Clone());
     BLLControl.SaveDirectoryInfo();
 }
Пример #4
0
        /// <summary>
        /// 根据FileID来删除节点
        /// </summary>
        /// <param name="fileID"></param>
        public static void DeleteNodeByFileID(string fileID)
        {
            //从整个目录入手删除节点
            DeleteFileByID(BLLControl.RootFileTree, fileID);
            //从当前浏览页删除节点
            List <FileTreeNode> listNode = new List <FileTreeNode>();

            FindNodeByFileID(fileID, CurrentNode, listNode);
            foreach (FileTreeNode node in listNode)
            {
                CurrentNode.SubNodes.Remove(node);
            }
            TurnCurrentNode(CurrentNode);
            BLLControl.SaveDirectoryInfo();
        }
Пример #5
0
        public static void ReplaceNodeByFileID(string fileID, FileTreeNode zoneNode, FileTreeNode destNode)
        {
            List <FileTreeNode> list = new List <FileTreeNode>();

            if (zoneNode == null)
            {
                zoneNode = FreeFolder;
            }
            FindNodeByFileID(fileID, zoneNode, list);
            foreach (FileTreeNode node in list)
            {
                node.CreateDate = destNode.CreateDate;
                node.FileInfo   = destNode.FileInfo;
                node.FileKind   = destNode.FileKind;
                node.FileSize   = destNode.FileSize;
                node.FromApp    = destNode.FromApp;
            }
            TurnCurrentNode(CurrentNode);
            BLLControl.SaveDirectoryInfo();
        }
Пример #6
0
 public static void AddNode(FileTreeNode fileNode)
 {
     //加入当前节点中
     CurrentNode.SubNodes.Add(fileNode);
     //如果是增加一个文件,则不需要处理目录。
     if (fileNode.SubNodes != null)
     {
         //在TreeView中找到当前节点
         TreeNode treeNode = FindNodeInTree(uiTreeNode.TopNode, CurrentNode);
         //找不到选中的树,触发错误。
         if (treeNode == null)
         {
             throw new Exception("不存在指定节点");
         }
         TreeNode newNode = new TreeNode();
         SetTreeNodeByObject(ref newNode, fileNode);
         treeNode.Nodes.Add(newNode);
     }
     TurnCurrentNode(CurrentNode);
     BLLControl.SaveDirectoryInfo();
 }
Пример #7
0
 /// <summary>
 /// 剪贴
 /// </summary>
 /// <param name="fileNode"></param>
 public static void CutNode(FileTreeNode fileNode)
 {
     CutTemp = fileNode;
     DeleteNode(fileNode, false);
     BLLControl.SaveDirectoryInfo();
 }