Почему FileSystemWatcher запускается дважды
почему FileSystemWatcher запускается дважды? Есть ли простой способ это исправить? Конечно, если я обновлю или отредактирую текстовый файл, он должен сработать только один раз?
эта ссылка здесьhttp://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx говорит
События, вызываемые дважды. Событие будет вызвано дважды, если явно указан обработчик события (AddHander FSW.Created, AddressOf FSW_Created). Это связано с тем, что по умолчанию публичные события автоматически вызывают соответствующие защищенные методы (OnChanged, OnCreated, OnDeleted, OnRenamed). Чтобы исправить эту проблему, просто удалите явный обработчик событий (AddHandler ...).Что означает «удалить явный обработчик события»?
Imports System.IO
Public Class Form2
Private Sub FileSystemWatcher1_Changed(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
'this fires twice
MessageBox.Show("test")
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FileSystemWatcher1.Path = "C:\Users\c\Desktop\test\"
FileSystemWatcher1.NotifyFilter = NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName Or NotifyFilters.CreationTime
FileSystemWatcher1.IncludeSubdirectories = False
FileSystemWatcher1.Filter = "text.txt"
End Sub
End Class