1

我有一个使用 FileSystemWatcher 来监视文件更改的 Windows 应用程序。可以添加多个文件位置,并为每个位置创建一个新的 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;

        }
    }
4

1 回答 1

6

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

于 2012-08-25T07:08:15.717 回答