如何:创建文件系统事件的处理程序

更新:2007 年 11 月

FileSystemWatcher 组件根据所监视的目录中发生的更改类型引发四种事件。这些事件是:

对于每一种事件都可以定义处理程序,以便在更改发生时自动调用代码中的方法。事件处理程序是绑定到组件、窗体或控件的事件上的方法。每个事件处理程序都提供了两个用于正确处理事件的参数:sender 和 e,前者提供负责事件的对象的对象引用,后者提供用于表示事件及其信息的对象。

FileSystemWatcher 组件的实例创建事件处理程序的方法有多种,但最简单的方法是让 Visual Studio 自动为您创建大部分代码。当在设计器中双击 FileSystemWatcher 组件实例时,Visual Studio 会打开“代码编辑器”,并为 Changed 事件和它调用的空过程各创建一个事件处理程序。然后就可以填入希望在该过程中发生的处理。此外,您还可以创建自己的处理程序来处理其他事件。

有关事件处理程序的更多信息,请参见处理和引发事件

为 Changed 事件创建默认处理程序

  1. 创建 FileSystemWatcher 组件的实例。有关更多信息,请参见 如何:创建 FileSystemWatcher 组件实例

  2. 为组件设置必要的属性。有关更多信息,请参见如何:配置 FileSystemWatcher 组件实例

  3. 在设计器中,双击要创建处理程序的 FileSystemWatcher 组件。

    说明:

    此时,将显示“代码编辑器”,同时在代码中添加两项:一项是创建和注册委托并调用过程的处理程序,另一项是 Changed 事件的空过程。

  4. Changed 事件的空过程中,定义当调用此事件时采取操作的代码。

创建 FileSystemWatcher 事件的处理程序

  1. 创建 FileSystemWatcher 组件的实例。有关更多信息,请参见 如何:创建 FileSystemWatcher 组件实例

  2. 为组件设置必要的属性。有关更多信息,请参见 如何:配置 FileSystemWatcher 组件实例

  3. 创建将被调用的适当过程,并定义要用于处理项的代码。下面的示例演示 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;
        }
    
    
  4. 为组件的事件分配 FileSystemEventHandler 实例。此示例添加步骤 3 中定义的 Changed 事件处理程序。

    AddHandler myWatcher.Changed, _
       New System.IO.FileSystemEventHandler(AddressOf Me.myWatcher_Changed)
    
         myWatcher.Changed +=
               new System.IO.FileSystemEventHandler(this.myWatcher_Changed);
    

请参见

任务

如何:创建 FileSystemWatcher 组件实例

如何:配置 FileSystemWatcher 组件实例

概念

关于监视文件系统事件的介绍