Crear controladores para los eventos del sistema de archivos

Visual Studio .NET 2003

El componente FileSystemWatcher produce cuatro eventos dependiendo de los tipos de cambios que se produzcan en el directorio que está inspeccionando. Estos eventos son:

  • Created: se produce siempre que se crea un directorio o un archivo.
  • Deleted: se produce siempre que se elimina un directorio o un archivo.
  • Renamed: se produce siempre que cambia el nombre de un directorio o un archivo.
  • Changed: se produce siempre que se realizan cambios en el tamaño, los atributos del sistema, la fecha en que se escribió por última vez, la fecha en que se utilizó por última vez o los permisos de seguridad NTFS de un directorio o un archivo.
    Nota   Puede utilizar la propiedad NotifyFilter para limitar la cantidad de eventos que produce el evento Changed. Para obtener más información, vea Configurar instancias de componentes FileSystemWatcher.

Para cada uno de estos eventos, puede definir controladores que llamen automáticamente a métodos del código cuando se produzca un cambio. Un controlador de eventos es un método enlazado al evento de un componente, formulario o control. Cada controlador de eventos proporciona dos parámetros que permiten controlar el evento correctamente: el remitente, que proporciona una referencia de objeto al objeto responsable del evento, y el parámetro e, que proporciona un objeto para representar el evento y su información.

Hay varias formas de crear un controlador de eventos para una instancia del componente FileSystemWatcher, pero la forma más sencilla es dejar que Visual Studio .NET cree automáticamente la mayor parte del código. Cuando haga doble clic en la instancia del componente FileSystemWatcher en el diseñador, Visual Studio abrirá el editor de código y creará un controlador de eventos tanto para el evento Changed como para el procedimiento en blanco al que llama. A continuación, puede completar el proceso que desee que tenga lugar en el procedimiento. También puede crear controladores propios para los demás eventos.

Para obtener más información sobre los controladores de eventos, vea Controladores de eventos en Visual Basic y Visual C#.

Para crear un controlador predeterminado para el evento Changed

  1. Cree una instancia del componente FileSystemWatcher. Para obtener más información, vea Crear instancias de componentes FileSystemWatcher.
  2. Establezca las propiedades necesarias para el componente. Para obtener más información, vea Configurar instancias de componentes FileSystemWatcher.
  3. En el diseñador, haga doble clic en el componente FileSystemWatcher para el que desee crear un controlador.
    Nota   Aparecerá el editor de código y se agregarán dos elementos al código: el controlador que crea y registra un delegado y llama al procedimiento, y un procedimiento en blanco para el evento Changed.
  4. En el procedimiento en blanco para el evento Changed, defina el código que se ejecutará cuando se llame a este evento.

Para crear un controlador para un evento FileSystemWatcher

  1. Cree una instancia del componente FileSystemWatcher. Para obtener más información, vea Crear instancias de componentes FileSystemWatcher.
  2. Establezca las propiedades necesarias para el componente. Para obtener más información, vea Configurar instancias de componentes FileSystemWatcher.
  3. Cree el procedimiento correspondiente al que se llamará y defina el código que desee que procese las entradas. El siguiente ejemplo muestra un controlador de eventos para el evento Changed.
    ' Visual Basic
    Private Sub myWatcher_Changed(ByVal sender As System.Object, _
       ByVal e As System.IO.FileSystemEventArgs)
       Dim pathChanged As String
       pathChanged = e.FullPath
    End Sub
    
    // C#
    private void myWatcher_Changed(object sender, 
    System.IO.FileSystemEventArgs e) 
    {
       string pathChanged = e.FullPath;
    }
    
  4. Asigne una instancia de FileSystemEventHandler al evento para el componente. Este ejemplo agrega el controlador de eventos Changed definido en el paso 3.
    ' Visual Basic
    AddHandler myWatcher.Changed, _
       New System.IO.FileSystemEventHandler(AddressOf Me.myWatcher_Changed)
    
    // C#
    myWatcher.Changed += 
       new System.IO.FileSystemEventHandler(this.myWatcher_Changed);
    

Vea también

Crear instancias de componentes FileSystemWatcher | Configurar instancias de componentes FileSystemWatcher | Introducción a la supervisión de eventos del sistema de archivos

Mostrar: