嗨我对C#来说还是个新手,并且正在测试一个简单的openFileDialog程序。我目前编写的代码似乎在做它的工作,但是,输出产生了两次。任何帮助,将不胜感激。为什么这个C#代码产生两次输出
我的代码:
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
MessageBox.Show("copying done");
StreamReader inStream = new StreamReader(destFile);
string line;
string[] lineSplit;
bool errorFound = false;
while ((line = inStream.ReadLine()) != null)
{
lineSplit = line.Split(' ');
for (int i = 0; i < lineSplit.Length; i++)
{
if (lineSplit[i] == textBox2.Text)
{
errorFound = true;
MessageBox.Show("Error found in " + e.Name);
MessageBox.Show("Exiting");
break;
}
}
}
inStream.Close();
}
输出:
Copying Done
File: ..Changed
Copying Done
File: ..Changed
只是想知道为什么它打印两次?
可能与[此问题](http://stackoverflow.com/questions/1764809/filesystemwatcher-changed-event-is-raised-twice) – stuartd