FileSystemWatcher触发文件夹

时间:2015-11-24 00:12:43

标签: c# filesystemwatcher

我在FileSystemWatch遇到了一些奇怪的行为。下面是我的C#代码:

FileSystemWatcher fs = new FileSystemWatcher(_sd);
fs.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
fs.Filter = "*.*";
fs.Deleted += new FileSystemEventHandler(fs_Changed);
fs.Created += new FileSystemEventHandler(fs_Changed);
fs.Renamed += new RenamedEventHandler(fs_Renamed);
fs.Changed += new FileSystemEventHandler(fs_Changed);
fs.Error += new ErrorEventHandler(fs_Error);
fs.IncludeSubdirectories = true;
fs.EnableRaisingEvents = true;

我的事件处理程序为:

static void fs_Changed(object sender, FileSystemEventArgs e)
{
    MessageBox.Show("Folder changed", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

没有更多或更少的东西。

当我运行窗口表单应用程序时,它会监视该文件夹。据说在我的文件夹中,我确实有3个现有的文件。现在,我再添加一个文件,MessageBox.Show(...)调用 4次 ???? !!!!基本上,它调用该目录中文件数量的次数!!!! ???

我做错了吗?它对我来说看起来很基本,我想知道为什么我会接到4个电话?

问题:有没有办法只召唤一次?有解决方法吗?

0 个答案:

没有答案