Por que o FileSystemWatcher dispara duas vezes
Por que o FileSystemWatcher dispara duas vezes? Existe uma maneira fácil de corrigir isso? Certamente, se eu atualizar ou editar o arquivo de texto, ele só deve disparar uma vez?
este link aquihttp://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx diz
Eventos sendo gerados duas vezes - Um evento será gerado duas vezes se um manipulador de eventos (AddHander FSW.Created, AddressOf FSW_Created) for especificado explicitamente. Isso ocorre porque, por padrão, os eventos públicos chamam automaticamente os respectivos métodos protegidos (OnChanged, OnCreated, OnDeleted, OnRenamed). Para corrigir esse problema, simplesmente remova o manipulador de eventos explícito (AddHandler ...).O que significa "remover o manipulador de eventos explícito"?
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