2011-08-15 28 views
0

我有一個使用FileSystemWatcher監視文件夾以更改文件的應用程序。問題是,當它捕獲這些事件時,它需要對這些文檔進行更改(更新鏈接),並且這當然會再次觸發事件,將應用程序拖入循環。不與FileSystemWatcher一起使用的不接線事件

所以,我想這一點:

UnWireEvents(); //Turn off the events while updating the documents 
      ChangeAllLinks(); 
      WireEvents(); //Turn the events back on 

    private void WireEvents() 
      { 
       _monitor.FileChanged += new EventHandler(_monitor_FileChanged); 
      } 

      private void UnWireEvents() 
      { 
       _monitor.FileChanged -= new EventHandler(_monitor_FileChanged); 
      } 

但它似乎沒有工作,應用程序仍然進入一個循環。那麼爲什麼它不起作用,我需要做些什麼呢?

回答

1

相反脫鉤事件處理程序,你可以設置 FileSystemWatcher類的EnableRaisingEvents屬性設置爲false 禁用所有創建/重命名/刪除/修改的事件。 更改鏈接後,只需將EnableRaisingEvents設置爲true,即可啓用FileSystemWatcher 。

+0

謝謝,它的工作!任何想法爲什麼我第一次做的沒有工作? – Anders

相關問題