c# - 如何删除 FileSystemWatcher 对象的特定实例

标签 c# filesystemwatcher windows-applications

我有一个 Windows 应用程序,它使用 FileSystemWatcher 来监视文件的更改。可以添加多个文件位置,并为每个位置创建一个新的 FileSystemWatcher 实例,并将该位置添加到列表框中。有一个选项可以从列表框中删除一个位置。删除位置时,我需要删除/处理 FileSystemWatcher 的特定实例。有什么办法可以做到这一点?提前致谢。

FileSystemWatcher fsw;

    private void CreateFWInstance(string strLoc)
    {
        if (strLoc != string.Empty)
        {
            fsw = new FileSystemWatcher();
            fsw.Changed += new FileSystemEventHandler(OnChanged);

            fsw.Path = strLoc;
            fsw.SynchronizingObject = this;

            fsw.EnableRaisingEvents = true;

        }
    }

最佳答案

好吧,您需要保留对实例的引用,例如作为列表框条目中的,或者可能是 Dictionary<string, FileSystemWatcher>从路径映射到观察者。然后只需处理观察者并将其从字典中删除/删除列表项。

关于c# - 如何删除 FileSystemWatcher 对象的特定实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119863/

相关文章:

c# - 如何在不关注它的情况下使用控制台/Windows 应用程序?

c# - 从 app.config 文件中读取值时出现问题

c# - WCF 数据服务 GUI 性能和使用 ICollectionView 进行过滤

c# - 对 Microsoft Graph API 执行获取请求时的 Microsoft.Graph.Models.ODataErrors.ODataError

c# - 文件系统观察者 IOException

如果监视目录在启动时不为空,C# 可以触发 FileSystemWatcher 吗?

c# - visual Studio 2015 中是否有 c# windows 窗体应用程序?

c# - T4 生成的代码需要访问不同的命名空间/项目

vb.net - 递归重命名 VB.NET

c# - 如何在 visual studio 2013 中不使用 InstallShield 创建 Windows 应用程序的安装文件?