なぜFileSystemWatcherは2回起動しますか?それを修正する簡単な方法はありますか?確かに私が更新またはテキストファイルを編集する場合、それは一度発射する必要がありますか?イベントハンドラ(AddHander FSW.Created、のAddressOf FSW_Created)が明示的に指定 であれば、イベントが二回発生します -FileSystemWatcherが2回発生するのはなぜですか?
このリンクここhttp://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspxは二回提起さ
- イベントを言います。これは、デフォルトで公開イベント がそれぞれの保護されたメソッド(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
この*予期しない動作が発生したのはいつですか?ファイルを編集、移動、削除、またはファイルを作成するときですか? – Arrow
こんにちは、ファイルが編集されたときです - ありがとう –
可能性のある解決策で質問を更新しました。問題の絞り込みに役立つかもしれません。 – Arrow