[英]c# FileSystemWatcher Created event not firing for all files created
[英]How to disable FileSystemWatcher's Created event from firing
问题是按照下面的代码,将EnableRaisingEvents = false设置是否将全部禁用或从触发创建事件? 请指教
FileSystemWatcher watcher = new FileSystemWatcher(@"D:\Outgoing", "*.txt");
watcher.EnableRaisingEvents = false;
文件系统监视程序的EnableRaisingEvents
属性将帮助您启用或禁用引发事件。 如果将此属性设置为false,则不会为所有操作引发任何事件,如果不需要Created事件,则意味着不需要订阅创建的事件。 这意味着watcher对象的定义如下所示:
FileSystemWatcher watcher = new FileSystemWatcher(@"D:\Sujith\Test folder");
watcher.Changed += new FileSystemEventHandler(watcher_changed);
watcher.Renamed += new RenamedEventHandler(watcher_renamed);
watcher.Deleted += new FileSystemEventHandler(watcher_deleted);
watcher.EnableRaisingEvents = true;
这实际上并没有禁用创建的事件引发,它将引发事件,但我们尚未订阅它们
我假设您不希望'Created'事件(也许您想通知其他事件,例如Change,Delete,Renamed ...)。 如果是这样,您只能订阅所需的事件。 如下所示
FileSystemWatcher watcher = new FileSystemWatcher(@"D:\Outgoing", "*.txt");
watcher.Changed += new FileSystemEventHandler(OnChanged);
//watcher.Created += new FileSystemEventHandler(OnCreated); // not interested
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
watcher.EnableRaisingEvents = true;
...
希望这是您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.