Использование FileSystemWatcher для мониторинга каталога

Я использую приложение Windows Forms для наблюдения за каталогом и перемещения файлов, помещенных в него, в другой каталог.

В данный момент он скопирует файл в другой каталог, но при добавлении другого файла он просто завершится без сообщения об ошибке. Иногда он копирует два файла, а потом заканчивает третий.

Это потому, что я использую приложение Windows Form, а не консольное приложение? Есть ли способ, как остановить программу и продолжить просмотр каталога?

private void watch()
{
  FileSystemWatcher watcher = new FileSystemWatcher();
  watcher.Path = path;
  watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
                         | NotifyFilters.FileName | NotifyFilters.DirectoryName;
  watcher.Filter = "*.*";
  watcher.Changed += new FileSystemEventHandler(OnChanged);
  watcher.EnableRaisingEvents = true;
}

private void OnChanged(object source, FileSystemEventArgs e)
{
  //Copies file to another directory.
}

Ответы на вопрос(3)

Ваш ответ на вопрос