FileSystemWatcher.EnableRaisingEvents Property
Gets or sets a value indicating whether the component is enabled.
Namespace: System.IO
Assembly: System (in System.dll)
'Declaration <IODescriptionAttribute("FSW_Enabled")> _ Public Property EnableRaisingEvents As Boolean
Property Value
Type: System.Booleantrue if the component is enabled; otherwise, false. The default is false. If you are using the component on a designer in Visual Studio 2005, the default is true.
| Exception | Condition |
|---|---|
| ObjectDisposedException | The FileSystemWatcher object has been disposed. |
| PlatformNotSupportedException | The current operating system is not Microsoft Windows NT or later. |
| FileNotFoundException | The directory specified in Path could not be found. |
| ArgumentException | Path has not been set or is invalid. |
The component will not raise events unless you set EnableRaisingEvents to true.
Note |
|---|
The component will not watch the specified directory until the Path property has been set and EnableRaisingEvents is true. |
The WaitForChanged method allows event handlers to be invoked to respond to file changes even if this property is set to false.
The following example creates a FileSystemWatcher to watch the directory specified at run time. The component is set to watch for changes in LastWrite and LastAccess time, the creation, deletion, or renaming of text files in the directory. If a file is changed, created, or deleted, the path to the file prints to the console. When a file is renamed, the old and new paths print to the console.
Use the System.Diagnostics and System.IO namespaces for this example.
Imports System Imports System.IO Imports Microsoft.VisualBasic Imports System.Security.Permissions Public Class Watcher Public Shared Sub Main() Run() End Sub <PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _ Private Shared Sub Run Dim args() As String = System.Environment.GetCommandLineArgs() ' If a directory is not specified, exit the program. If args.Length <> 2 Then ' Display the proper way to call the program. Console.WriteLine("Usage: Watcher.exe (directory)") Return End If ' Create a new FileSystemWatcher and set its properties. Dim watcher As New FileSystemWatcher() watcher.Path = args(1) ' Watch for changes in LastAccess and LastWrite times, and ' the renaming of files or directories. watcher.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName) ' Only watch text files. watcher.Filter = "*.txt" ' Add event handlers. AddHandler watcher.Changed, AddressOf OnChanged AddHandler watcher.Created, AddressOf OnChanged AddHandler watcher.Deleted, AddressOf OnChanged AddHandler watcher.Renamed, AddressOf OnRenamed ' Begin watching. watcher.EnableRaisingEvents = True ' Wait for the user to quit the program. Console.WriteLine("Press 'q' to quit the sample.") While Chr(Console.Read()) <> "q"c End While End Sub ' Define the event handlers. Private Shared Sub OnChanged(source As Object, e As FileSystemEventArgs) ' Specify what is done when a file is changed, created, or deleted. Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType) End Sub Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs) ' Specify what is done when a file is renamed. Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath) End Sub End Class
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note