¿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

Respuestas a la pregunta(3)

Su respuesta a la pregunta