Tôi đang sử dụng Ứng dụng Windows Forms để theo dõi một thư mục và di chuyển các tệp được đưa vào thư mục đó sang một thư mục khác.
Tại thời điểm này, nó sẽ sao chép tệp sang một thư mục khác, nhưng khi tệp khác được thêm vào, nó sẽ chỉ kết thúc mà không có thông báo lỗi. Đôi khi nó sao chép hai tệp trước khi kết thúc vào tệp thứ ba.
Điều này có phải do tôi đang sử dụng Ứng dụng Windows Form hơn là ứng dụng bảng điều khiển không? Có cách nào tôi có thể dừng chương trình kết thúc và tiếp tục xem thư mục không?
private void watch()
{
this.watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += OnChanged;
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
public void Dispose()
{
// avoiding resource leak
watcher.Changed -= OnChanged;
this.watcher.Dispose();
}