События FileSystemWatcher - C#

Узнай цену своей работы

Формулировка задачи:

Хочу отследить изменение файла. Создаю FileSystemWatcher
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.Changed += new FileSystemEventHandler(OnChanged);
Если отслеживаемый файл сохраняется, OnChanged почему-то выполняется три раза, как сделать, чтоб только один? Могу ли я передавать параметры через OnChanged?

Решение задачи: «События FileSystemWatcher»

textual
Листинг программы
 Imports System.IO, System.Diagnostics
 
Module Module1
 
    Sub Main()
            Try
 
 
            Dim Watcher As New FileSystemWatcher(pathUserFolder)
        
            Dim instance As System.Threading.ManualResetEvent = New System.Threading.ManualResetEvent(False)
 
 
            ' Add delegates for events
            AddHandler Watcher.Created, New FileSystemEventHandler(AddressOf Watcher_Created)
            AddHandler Watcher.Changed, New FileSystemEventHandler(AddressOf Watcher_Changed)
            AddHandler Watcher.Deleted, New FileSystemEventHandler(AddressOf Watcher_Deleted)
            AddHandler Watcher.Renamed, New RenamedEventHandler(AddressOf Watcher_Renamed)
            ' Must do this
            Watcher.EnableRaisingEvents = True
           
            instance.WaitOne(True)
 
 
        Catch ex As Exception
            MsgBox(ex.Message)
         End Try
 
    End Sub
 
    Private Sub Watcher_Changed(ByVal sender As Object, ByVal e As FileSystemEventArgs)
        ' Console.WriteLine("Event: File {0} {1}", e.FullPath, e.ChangeType)
    End Sub
 
    Private Sub Watcher_Deleted(ByVal sender As Object, ByVal e As FileSystemEventArgs)
        'Console.WriteLine("Event: File {0} {1}", e.FullPath, e.ChangeType)
    End Sub
 
    Private Sub Watcher_Renamed(ByVal sender As Object, ByVal e As RenamedEventArgs)
        'Console.WriteLine("Event: File {0} {1} to {2}", e.OldFullPath, e.ChangeType, e.FullPath)
    End Sub
 
End Module

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы