Leer en inglés

Compartir a través de


FileSystemWatcher.EnableRaisingEvents Propiedad

Definición

Obtiene o establece un valor que indica si el componente está habilitado.

C#
public bool EnableRaisingEvents { get; set; }
C#
[System.IO.IODescription("FSW_Enabled")]
public bool EnableRaisingEvents { get; set; }

Valor de propiedad

Es true si el componente está habilitado; de lo contrario, es false. De manera predeterminada, es false. Si usa el componente en un diseñador de Visual Studio 2005, el valor predeterminado es true.

Atributos

Excepciones

El sistema operativo actual no es Microsoft Windows NT o posterior.

No se encontró el directorio especificado en Path.

Path no se ha establecido o no es válida.

Ejemplos

En el ejemplo siguiente se crea un FileSystemWatcher objeto para watch el directorio especificado en tiempo de ejecución. El componente se establece en watch para los cambios en LastWrite y LastAccess el tiempo, la creación, eliminación o cambio de nombre de los archivos de texto en el directorio. Si se cambia, crea o elimina un archivo, la ruta de acceso al archivo se imprime en la consola. Cuando se cambia el nombre de un archivo, las rutas de acceso antiguas y nuevas se imprimen en la consola.

C#
using System;
using System.IO;

namespace MyNamespace
{
    class MyClassCS
    {
        static void Main()
        {
            using var watcher = new FileSystemWatcher(@"C:\path\to\folder");

            watcher.NotifyFilter = NotifyFilters.Attributes
                                 | NotifyFilters.CreationTime
                                 | NotifyFilters.DirectoryName
                                 | NotifyFilters.FileName
                                 | NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.Security
                                 | NotifyFilters.Size;

            watcher.Changed += OnChanged;
            watcher.Created += OnCreated;
            watcher.Deleted += OnDeleted;
            watcher.Renamed += OnRenamed;
            watcher.Error += OnError;

            watcher.Filter = "*.txt";
            watcher.IncludeSubdirectories = true;
            watcher.EnableRaisingEvents = true;

            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Changed)
            {
                return;
            }
            Console.WriteLine($"Changed: {e.FullPath}");
        }

        private static void OnCreated(object sender, FileSystemEventArgs e)
        {
            string value = $"Created: {e.FullPath}";
            Console.WriteLine(value);
        }

        private static void OnDeleted(object sender, FileSystemEventArgs e) =>
            Console.WriteLine($"Deleted: {e.FullPath}");

        private static void OnRenamed(object sender, RenamedEventArgs e)
        {
            Console.WriteLine($"Renamed:");
            Console.WriteLine($"    Old: {e.OldFullPath}");
            Console.WriteLine($"    New: {e.FullPath}");
        }

        private static void OnError(object sender, ErrorEventArgs e) =>
            PrintException(e.GetException());

        private static void PrintException(Exception? ex)
        {
            if (ex != null)
            {
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine("Stacktrace:");
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine();
                PrintException(ex.InnerException);
            }
        }
    }
}

Comentarios

El componente no generará eventos a menos que establezca en EnableRaisingEventstrue.

Nota

El componente no watch el directorio especificado hasta que se haya establecido la Path propiedad y EnableRaisingEvents sea true.

El WaitForChanged método permite invocar controladores de eventos para responder a los cambios de archivo, incluso si esta propiedad está establecida falseen .

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1