[問題] 如何利用timer控制FileSystemWatcher的事件?

看板C_Sharp作者 (翻滾吧!大貓)時間15年前 (2011/02/15 14:48), 編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
請教各位大大 目前使用FileSystemWatcher監聽資料夾 當資料夾內有文件建立或刪除 即顯示對話視窗(測試) 是否可以利用timer方式處理FileSystemWatcher的事件 例如: 每1分鐘內資料夾內是否有資料新增 有->A動作 無->B動作 就一分鐘檢查一次,不要一新增就動作 是否可以用timer和FileSystemWatcher實現? 還是有其他比較好的方法呢? 下面是我的程式碼 namespace Works { public partial class Form1 : Form { FileSystemWatcher Wc = new FileSystemWatcher(); public Form1() { InitializeComponent(); timer1.Interval = 1000 * 60; } private void timer1_Tick(object sender, EventArgs e) { MyFileSystemWatcher(); } private void MyFileSystemWatcher() { Wc.Path = @"C:\"; Wc.Filter = "*.TXT"; Wc.IncludeSubdirectories = true; Wc.EnableRaisingEvents = true; Wc.Created += new FileSystemEventHandler(Wc_Created); Wc.Deleted += new FileSystemEventHandler(Wc_Deleted); } private void Wc_Created(object sender, FileSystemEventArgs e) { MessageBox.Show("有檔案被新增"); } private void Wc_Deleted(object sender, FileSystemEventArgs e) { MessageBox.Show("有檔案被刪除"); } } } 請各位大大指教.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.121.25.20

02/15 22:56, , 1F
這樣寫,第一次Timer進去就初始FileSystemWatcher了
02/15 22:56, 1F

02/15 22:57, , 2F
之後每次有檔案進來就會觸發了
02/15 22:57, 2F

02/15 23:18, , 3F
那請問樓上大大,我該如何寫? 事件要False嗎?
02/15 23:18, 3F

02/16 23:52, , 4F
以變數紀錄時間, 觸發時檢查時間是否過一分鐘
02/16 23:52, 4F

02/16 23:53, , 5F
沒過一分鐘不理, 過一分鐘即將現在時間寫入變數
02/16 23:53, 5F

02/16 23:54, , 6F
, 再執行想要的動作就好了.
02/16 23:54, 6F

02/17 10:48, , 7F
謝謝各位大大,已解決^^
02/17 10:48, 7F
文章代碼(AID): #1DMY7MTM (C_Sharp)