我已经正确地使EnableRaisingEvents变为false,但它引发了事件,这就是我如何做到这一点:
private void button2_Click(object sender, EventArgs e)
{
_watcher.EnableRaisingEvents = false;
_watcher.Changed -= new FileSystemEventHandler(InitList);
_watcher.Dispose();
listBox1.Items.Add("Stopped Monitoring Directory " + textBox2.Text);
listBox1.SelectedIndex = listBox1.Items.Count - 1;
textBox2.Enabled = true;
textBox3.Enabled = true;
button1.Enabled = true;
button3.Enabled = true;
button4.Enabled = true;
}
还有什么需要做的,也许我在这里错过了。请指教。 http://pastebin.com/yEaffBxP
答案 0 :(得分:1)
要停止观察者,请将其EnableRaisingEvents属性设置为False。如果你已经完成它,那么Dispose it。
答案 1 :(得分:1)
我已经看到了这一点,你实际上已经创建了2个文件观察者。 一个在这里
private static FileSystemWatcher _watcher = new FileSystemWatcher();
秒 - 后来
WatchFile()
那应该解决它