FileSystemWatcher neden iki kez ateş ediyor? Bunu düzeltmenin kolay bir yolu var mı? Elbette metin dosyasını günceller veya değiştirirsem sadece bir kez ateş etmeli?FileSystemWatcher neden iki kez yanıyor
bu bağlantı burada http://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx
- Olaylar iki kez gündeme getirilen diyor - bir olay işleyicisi (AddHander FSW.Created, AddressOf FSW_Created) açıkça belirtilmiş ise bir olay iki kez yükseltilir. Bunun nedeni, varsayılan olarak, genel olayları otomatik olarak ilgili korunan yöntemleri çağırır (OnChanged, OnCreated, OnDeleted, OnRenamed). Bu sorunu düzeltmek için, yalnızca açık olay işleyicisini kaldırın (AddHandler ...).
"Açık olay işleyicisini kaldırma" ne anlama geliyor?
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
Tam olarak ne zaman * beklenmedik * davranıyorsunuz? Bir dosyayı düzenlediğinizde, taşıdığınızda, sildiğinizde veya bir dosya oluşturduğunuzda mı? – Arrow
Merhaba, dosyayı ne zaman olur - teşekkürler –
Sorunu, sorunu daraltmaya yardımcı olabileceğinden emin olmak için en azından kontrol edilmesi gereken bir çözümle güncelledim. – Arrow