การใช้ FileSystemWatcher เพื่อมอนิเตอร์ไดเร็กทอรี
ฉันใช้ Windows Forms Application เพื่อตรวจสอบไดเร็กทอรีและย้ายไฟล์ที่ทิ้งไว้ในไดเร็กทอรีอื่น ในขณะนี้มันจะคัดลอกไฟล์ไปยังไดเร็กทอรีอื่น แต่เมื่อมีการเพิ่มไฟล์อื่นมันจะจบลงโดยไม่มีข้อความแสดงข้อผิดพลาด บางครั้งจะคัดลอกสองไฟล์ก่อนที่จะสิ้นสุดในไฟล์ที่สาม นี่เป็นเพราะฉันใช้ Windows Form Application แทนที่จะเป็นแอปคอนโซลใช่หรือไม่ มีวิธีใดบ้างที่ฉันสามารถหยุดโปรแกรมไม่ให้สิ้นสุดและเฝ้าดูไดเร็กทอรีต่อไป 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) …