HOW TO:建立檔案系統事件的處理常式
更新:2007 年 11 月
依照發生在目錄內的變更類型,正在監看的 FileSystemWatcher 元件會引發四種事件。這些事件為:
Created:建立目錄或檔案時引發。
Deleted:刪除目錄或檔案時引發。
Renamed:變更目錄或檔案名稱時引發。
Changed:變更目錄或檔案的大小、系統屬性、上次寫入時間、上次存取時間或 NTFS 安全性權限時引發。
注意事項: 您可以使用 NotifyFilter 屬性限制 Changed 事件所引發的事件數量。如需詳細資訊,請參閱 HOW TO:設定 FileSystemWatcher 元件執行個體。
您可以為每個事件定義處理常式,使得在發生變更時能夠自動呼叫您程式碼中的方法。事件處理常式是繫結至元件、表單或控制項之事件的方法。每一個事件處理常式都提供兩個參數,可以讓您正確處理事件:sender 參數,提供物件參考給負責該事件的物件,e 參數,提供代表事件及其資訊的物件。
您有好幾種方式可以建立 FileSystemWatcher 元件執行個體的事件處理常式,但最簡單的方式是讓 Visual Studio 自動為您建立大部分的程式碼。當您在設計工具中按兩下 FileSystemWatcher 元件執行個體時,Visual Studio 即會開啟 [程式碼編輯器],接著為 Changed 事件及其所呼叫的空白程序建立事件處理常式。然後您就可以填入您想要在程序中進行的處理。也可以建立自己的處理常式來處理其他事件。
如需錯誤處理常式的詳細資訊,請參閱處理和引發事件。
若要建立 Changed 事件的預設處理常式
建立 FileSystemWatcher 元件的執行個體。如需詳細資訊,請參閱 HOW TO:建立 FileSystemWatcher 元件執行個體。
設定元件的必要屬性。如需詳細資訊,請參閱 HOW TO:設定 FileSystemWatcher 元件執行個體。
從設計工具,按兩下要建立處理常式的 FileSystemWatcher 元件。
注意事項: [程式碼編輯器] 隨即出現,同時會有兩個項目加入至您的程式碼中:一個是建立和註冊委派並呼叫程序的處理常式,另一個是 Changed 事件的空白程序。
在 Changed 事件的空白程序中,定義呼叫這個事件時要採取行動的程式。
若要為 FileSystemWatcher 事件建立處理常式
建立 FileSystemWatcher 元件的執行個體。如需詳細資訊,請參閱 HOW TO:建立 FileSystemWatcher 元件執行個體。
設定元件的必要屬性。如需詳細資訊,請參閱 HOW TO:設定 FileSystemWatcher 元件執行個體。
建立將要呼叫的適當程序,並定義您要處理項目的程式碼。下列範例會示範 Changed 事件的事件處理常式。
Private Sub myWatcher_Changed(ByVal sender As System.Object, _ ByVal e As System.IO.FileSystemEventArgs) Dim pathChanged As String pathChanged = e.FullPath End Sub
private void myWatcher_Changed(object sender, System.IO.FileSystemEventArgs e) { string pathChanged = e.FullPath; }
將 FileSystemEventHandler 的執行個體指派至元件的事件。這個範本會加入步驟 3 中所定義的 Changed 事件處理常式。
AddHandler myWatcher.Changed, _ New System.IO.FileSystemEventHandler(AddressOf Me.myWatcher_Changed)
myWatcher.Changed += new System.IO.FileSystemEventHandler(this.myWatcher_Changed);
請參閱
工作
HOW TO:建立 FileSystemWatcher 元件執行個體
HOW TO:設定 FileSystemWatcher 元件執行個體