我正在使用FileSystemWatcher
来监视某个目录,并且我需要在有人将编辑保存到文件时引发一个事件,而当他们创建或移动文件时需要引发另一个事件。区分FileSystemWatcher中更改和创建的事件?
使用Deleted
和Created事件的组合,监视移动的文件可以正常工作。当某人将编辑保存到文件中时,确实会引发Changed事件。但是,当他们移动一个文件时,Changed
事件也会升高,并且会干扰我为Created
和已删除事件所进行的处理。
所以基本上,我只想在用户保存对文件的编辑时才提高Changed
事件,而不是在用户移动或创建文件时。我尝试使用ChangeType
属性来检查事件是否实际上是Changed
事件或Created
事件,但令我惊讶的是,即使在移动或创建文件时也为Change事件产生了ChangeType
Changed
,而不是ChangeType
Created
(据推测应该是其中的一种)。
所以我不知道如何检查更改事件实际上是由一个文件编辑触发的,而不是文件创建或移动...
任何想法?
谢谢,很好的见解。只是使用NofityFilter不起作用,因为该文件夹在文件引发已删除和创建的事件之前引发了更改的事件,但我设法使用两个提示和计时器的组合来修复它。就像你说的,肮脏,但它的工作原理:-) – Anders
很高兴为你工作 –