【发布时间】:2018-12-11 17:15:38
【问题描述】:
我有一个基于文件的应用程序。除了目录重命名之外,FileSystemWatcher 对于我的大多数用途都可以正常工作。下面是代码示例:
class Program
{
static void Main(string[] args)
{
var directoryWatcher = new FileSystemWatcher("D:\\Test")
{
NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.Attributes | NotifyFilters.FileName | NotifyFilters.LastAccess |
NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size,
Filter = "*.*"
};
directoryWatcher.EnableRaisingEvents = true;
directoryWatcher.IncludeSubdirectories = true;
directoryWatcher.Changed += FolderChanged;
directoryWatcher.Created += FolderCreated;
directoryWatcher.Deleted += FolderDeleted;
directoryWatcher.Renamed += FolderRenamed;
Console.ReadLine();
}
private static void FolderRenamed(object sender, RenamedEventArgs e)
{
}
private static void FolderDeleted(object sender, FileSystemEventArgs e)
{
}
private static void FolderCreated(object sender, FileSystemEventArgs e)
{
}
private static void FolderChanged(object sender, FileSystemEventArgs e)
{
}
}
在 d:\Test 里面有一个文件夹。一旦我重命名它,什么都没有发生。我没有收到任何事件。
有什么想法吗?
谢谢
阿米特
【问题讨论】:
-
我已注册所有 4 个活动。对于文件夹,我永远不会得到重命名事件,只是改变了
-
这个问题有点混乱,你是在寻找目录的重命名事件吗?
-
@un-lucky 是的,我是。我好像听不懂。
-
您已使用
-= FolderRenamed;取消注册FolderRenamed事件,使用+=注册这些事件
标签: c# directory filesystemwatcher