Use the .NET FileSystemWatcher object to monitor directory changes in C# 
(Zach Smith) There are many instances that require systems to perform certain tasks when files or directories are created or modified. One example of this is an import system that pulls flat files into a database. In this instance, a program must monitor a directory for newly created files. When a file is created the program must then pick up the file, parse it, and insert it into the database. Many times this type of functionality is accomplished by "polling" the directory and enumerating any new files that have been created since the last poll. With the introduction of the .NET Framework Microsoft has provided developers with an alternative to constantly polling a directory for new files -- the FileSystemWatcher object.
Read More >>