0

msdnの FileSystemWatcher サンプル コードを試すテスト アプリを作成しました。

基本的には機能しますが、ハンドラーは 3 回呼び出されます。誰でも理由を知っていますか?

namespace FileWatcherTest
{
    public partial class Form1 : Form
    {
        private FileSystemWatcher watcher;
        public Form1()
        {
            InitializeComponent();
            string testPath = 
                Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 
                + @"\Test";
            InitialiseFileWatcher(testPath, "example.txt");
        }

        private void InitialiseFileWatcher(string path, string fileName)
        {
            watcher = new FileSystemWatcher();
            watcher.Path = path;
            watcher.NotifyFilter = NotifyFilters.LastWrite;
            watcher.Filter = fileName;
            watcher.Changed += new FileSystemEventHandler(OnFarmListChanged);
            // Begin watching.
            watcher.EnableRaisingEvents = true;
        }

        private static void OnFarmListChanged(object source, FileSystemEventArgs e)
        {
            string text = "File: " + e.FullPath + " " + e.ChangeType;
            MessageBox.Show(text);
        }
    }
}
4

1 に答える 1