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); } } } }
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); } } } } }