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 に答える