¿Por qué FileSystemWatcher se dispara dos veces?
¿Por qué el FileSystemWatcher se dispara dos veces? ¿Hay una manera fácil de arreglarlo? Seguramente si actualizo o edito el archivo de texto, ¿debería dispararse solo una vez?
este enlace aquíhttp://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx dice
Eventos que se generan dos veces: un evento se generará dos veces si se especifica explícitamente un controlador de eventos (AddHander FSW.Created, AddressOf FSW_Created). Esto se debe a que, de forma predeterminada, los eventos públicos llaman automáticamente a los métodos protegidos respectivos (OnChanged, OnCreated, OnDeleted, OnRenamed). Para corregir este problema, simplemente elimine el controlador de eventos explícito (AddHandler ...).¿Qué significa "eliminar el controlador 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