Compartir a través de


Cómo: Crear controladores para los eventos del sistema de archivos

Actualización: noviembre 2007

El componente FileSystemWatcher desencadena cuatro eventos en función de los tipos de cambios que se producen en el directorio que se 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 se modifica 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 el número de eventos que desencadena el evento Changed. Para obtener más información, vea Cómo: 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 parámetro sender, 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.

Existen diversas formas de crear un controlador de eventos para una instancia del componente FileSystemWatcher, pero la forma más sencilla es dejar que Visual Studio 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 Controlar y provocar eventos.

Para crear un controlador predeterminado para el evento Changed

  1. Cree una instancia del componente FileSystemWatcher. Para obtener más información, vea Cómo: Crear instancias de componentes FileSystemWatcher.

  2. Establezca las propiedades necesarias para el componente. Para obtener más información, vea Cómo: 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 Cómo: Crear instancias de componentes FileSystemWatcher.

  2. Establezca las propiedades necesarias para el componente. Para obtener más información, vea Cómo: 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. En el siguiente ejemplo se muestra un controlador de eventos para el evento 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. Asigne una instancia de FileSystemEventHandler al evento del componente. En este ejemplo se agrega el controlador de eventos Changed definido en el paso 3.

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

Vea también

Tareas

Cómo: Crear instancias de componentes FileSystemWatcher

Cómo: Configurar instancias de componentes FileSystemWatcher

Conceptos

Introducción a la supervisión de eventos del sistema de archivos