【发布时间】:2016-06-29 12:39:56
【问题描述】:
我有一个目录和一个 FileSystemWatcher,我想在每次删除文件时减少 Balloon.Show 的数量,但我该怎么做?因为每次我删除像 20 个文件 explorer.exe 崩溃的原因太 ShowBalloonTips。 我在这个论坛中找到了一个解决方案,如果我一个一个地删除文件,它会起作用,但是如果我将它们全部删除,它就会被窃听并且不再触发 OnDelete...有什么建议吗?
private void InitializeWatcher()
{
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnCreated);
watcher.Deleted += new FileSystemEventHandler(OnDeleted);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
watcher.EnableRaisingEvents = true;
}
private void OnDeleted(object sender, FileSystemEventArgs e)
{
SetBalloonTip("File Eliminato");
notifyIcon1.ShowBalloonTip(1);
((FileSystemWatcher)sender).Deleted -= new FileSystemEventHandler(OnDeleted);
timerRepeat.Interval = 500;
timerRepeat.Elapsed += new ElapsedEventHandler(t_Elapsed);
timerRepeat.Start();
}
void t_Elapsed(object sender, ElapsedEventArgs e)
{
((System.Timers.Timer)sender).Stop();
}
【问题讨论】:
标签: c# directory filesystemwatcher