FileSystemWatcher и Timer не работают как надо - C#
Формулировка задачи:
Пишу код
Запускаю, добавляю в папку Records файл -- ничего не происходит
Делаю в данном коде совсем небольшое изменение:
После чего MessageBox'ы с timer'а начинаются сыпаться как следует.
Объясните пожалуйста в чем дело? Ну и извечный вопрос -- подскажите новичку, как передать параметр в timer?
namespace watcher { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"C:\Records"; watcher.Created += new FileSystemEventHandler(onFileCreate); watcher.EnableRaisingEvents = true; } private void onFileCreate(object source, FileSystemEventArgs e) { BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, a) =>{ Timer tm = new Timer(); tm.Interval = 1000; tm.Tick += (q, w) =>{ MessageBox.Show(""); }; tm.Start(); }; bw.RunWorkerAsync(); } } }
namespace watcher { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"C:\Records"; watcher.Created += new FileSystemEventHandler(onFileCreate); watcher.EnableRaisingEvents = true; } private void onFileCreate(object source, FileSystemEventArgs e) { BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, a) =>{ Timer tm = new Timer(); tm.Interval = 1000; tm.Tick += (q, w) =>{ MessageBox.Show(""); }; tm.Start(); /*ДОБАВЛЯЮ ТОЛЬКО ЭТО*/MessageBox.Show("");/*ДОБАВЛЯЮ ТОЛЬКО ЭТО*/ }; bw.RunWorkerAsync(); } } }
Решение задачи: «FileSystemWatcher и Timer не работают как надо»
textual
Листинг программы
bw.DoWork += (sender1, eventArgs) => MessageBox.Show(eventArgs.FullPath);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д