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 đã bị bỏ trong thư mục đó sang một thư mục khác.Sử dụng FileSystemWatcher để theo dõi một thư mục
Hiện tại, nó sẽ sao chép tệp vào một thư mục khác, nhưng khi một tệp khác được thêm vào, nó sẽ kết thúc mà không có thông báo lỗi. Đôi khi nó sao chép hai tập tin trước khi kết thúc vào thứ ba.
Đây có phải là vì tôi đang sử dụng Ứng dụng biểu mẫu Windows thay vì ứng dụng bảng điều khiển không? Có cách nào tôi có thể ngừng chương trình từ kết thúc và tiếp tục xem thư mục không?
private void watch()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
Biến 'watcher' được giữ nguyên (không thu gom rác) vì anh đã đăng ký sự kiện Đã thay đổi. – adospace