Monday, October 27, 2008

FileSystemWatcher Component and Class in WPF and Windows Forms


FileSystemWatcher Component (Class) can be used to monitor file system directories for changes.

FileSystemWatcher Class in WPF

FileSystemWatcher Class in found in System.IO namespace

using System.IO is not added by default in WPF.

using System.IO;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
FileSystemWatcher fsw = new FileSystemWatcher();
fsw.Path = @"c:\";
fsw.IncludeSubdirectories = true;
fsw.EnableRaisingEvents = true;
fsw.Created +=new FileSystemEventHandler(fsw_Created);
}

private void fsw_Created(object sender, FileSystemEventArgs e)
{
MessageBox.Show(e.FullPath + " created");
}

FileSystemWatecher Component in Windows Forms
Add a FileSystemWatcher to the form. Since it is a component it will appear in the component tray.

Support if you want to monitor c: and its sub directories for changes, then set the Path property to C:, IncludeSubdirectories to True and EnableRaisingEvents to true.

Now you can write event handlers for the FileSystemWatcher Component as follows:

private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show(e.FullPath + " created");
}

private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show(e.FullPath + " deleted");
}

A better approach would be writing to an event log or a text file.


Related blog:

DataTable DataColumn and DataRow (Asp.Net)

2 comments:

  1. awesome, it works for WPF pfff, great !!

    ReplyDelete
  2. great man, just great. It works for an WPF application I was dealing with awesome thanks !!

    ReplyDelete