繁体   English   中英

如何从触发禁用FileSystemWatcher的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM