События FileSystemWatcher - C#
Формулировка задачи:
Хочу отследить изменение файла. Создаю FileSystemWatcher
Если отслеживаемый файл сохраняется, OnChanged почему-то выполняется три раза, как сделать, чтоб только один?
Могу ли я передавать параметры через OnChanged?
FileSystemWatcher watcher = new FileSystemWatcher(); watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Changed += new FileSystemEventHandler(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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д