コード例 #1
0
ファイル: FileExplorer.cs プロジェクト: nadar71/Krea
        public void watcher_Changed(object sender, FileSystemEventArgs args)
        {
            if (this.InvokeRequired)
            {
                dwatcher_Changed d = new dwatcher_Changed(watcher_Changed);
                object[] arguments = { sender, args };
                this.Invoke(d, arguments);
            }
            else
            {
                if (this.mainForm.Enabled == true)
                {
                    if (args.ChangeType == WatcherChangeTypes.Created)
                    {
                        if (Directory.Exists(args.FullPath))
                        {
                            DirectoryInfo folderInfo = new DirectoryInfo(args.FullPath);
                            FolderExplorerItem folderNode = createFolderNode(folderInfo);
                            if (folderNode != null)
                            {

                                GetDirectories(folderInfo.GetDirectories(), folderNode);
                                getFiles(folderInfo, folderNode);
                            }

                        }
                        else
                        {
                            createFileNode(new FileInfo(args.FullPath));
                        }

                    }
                    else if (args.ChangeType == WatcherChangeTypes.Deleted)
                    {
                        bool res = this.removeFileNode(args.FullPath);
                        if (res == false)
                            this.removeFolderNode(args.FullPath);

                    }
                }

            }
        }
コード例 #2
0
ファイル: FileExplorer.cs プロジェクト: slagusev/Krea
 public void watcher_Changed(object sender, FileSystemEventArgs args)
 {
     if (this.InvokeRequired)
     {
         dwatcher_Changed d         = new dwatcher_Changed(watcher_Changed);
         object[]         arguments = { sender, args };
         this.Invoke(d, arguments);
     }
     else
     {
         if (this.mainForm.Enabled == true)
         {
             if (args.ChangeType == WatcherChangeTypes.Created)
             {
                 if (Directory.Exists(args.FullPath))
                 {
                     DirectoryInfo      folderInfo = new DirectoryInfo(args.FullPath);
                     FolderExplorerItem folderNode = createFolderNode(folderInfo);
                     if (folderNode != null)
                     {
                         GetDirectories(folderInfo.GetDirectories(), folderNode);
                         getFiles(folderInfo, folderNode);
                     }
                 }
                 else
                 {
                     createFileNode(new FileInfo(args.FullPath));
                 }
             }
             else if (args.ChangeType == WatcherChangeTypes.Deleted)
             {
                 bool res = this.removeFileNode(args.FullPath);
                 if (res == false)
                 {
                     this.removeFolderNode(args.FullPath);
                 }
             }
         }
     }
 }