Спасибо заранее, легко для большинства без сомнения, но я новичок в программировании.Как сохранить просмотр каталога до нажатия кнопки выхода?
Мое первое приложение - это приложение winform, которое позволяет пользователю выбирать каталог и, когда он нажимает кнопку «Пуск», инициализируется FileSystemWatcher. Все работает, и я обрабатывал изменения, удаления и т. Д., Но моя проблема в том, что он обрабатывает только одно событие (хотя и правильно), но после этого он закрывается.
Мне нужно установить
Watcher.EnableRaisingEvents=True
, пока кнопка выхода не будет нажата?
Здесь код в настоящее время:
public void btnStart(object sender, EventArgs e)
{
//create watcher and set properties
FileSystemWatcher Watcher1 = new FileSystemWatcher();
Watcher1.Path = txtBoxDirToWatch.Text;
if (Watcher1.Path.Length <2)
{
MessageBox.Show("Path does not exist, Please reselect");
return;
}
//user response to close
MessageBox.Show("Your directory is now being monitored for changes");
Watcher1.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
//watch all files in the path
Watcher1.Filter = "*.*";
//add event handlers
Watcher1.Changed += new FileSystemEventHandler(OnChanged);
Watcher1.Created += new FileSystemEventHandler(OnChanged);
Watcher1.Deleted += new FileSystemEventHandler(OnDeleted);
Watcher1.Renamed += new RenamedEventHandler(OnRenamed);
//begin watching
Watcher1.EnableRaisingEvents = true;
}
public static void OnChanged(object source, FileSystemEventArgs e)
{
//need something in here to deal with changes and copy to hidden directory
string destination = Path.Combine(@"C:\Watcher\sync", e.Name);
File.Copy(e.FullPath, destination);
}
public static void OnRenamed(object source, FileSystemEventArgs e)
{
я обрабатывать onrenamed, ondeleted и т.д.
Может кто-нибудь дать толчок в правильном направлении, пожалуйста?
Благодаря
Пожалуйста, пост код, показывающий, как создается наблюдающий, обработчик и т.д. Есть много возможных причин, это может быть сбой. С контекстом мы можем быть более полезными. – Opsimath
Извините @DavidFerguson Я думал, что я добавил код изначально, спасибо – liammcdee