Monitoring dossier (FileSystemWatcher)
Bonjour à tous
Au chargement de mon programme je lance un Monitoring sur un dossier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| private void MainForm_Load(object sender, EventArgs e)
{
//Thread.Sleep(10000);
News.SearchPictures(strPath);
FileSystemWatcher fsw = new FileSystemWatcher();
fsw.Path = strPath;
fsw.IncludeSubdirectories = true;
fsw.NotifyFilter = NotifyFilters.FileName;
fsw.Created += new FileSystemEventHandler(fsw_Created);
fsw.Deleted += new FileSystemEventHandler(fsw_Deleted);
fsw.EnableRaisingEvents = true;
//tmrRefresh.Start();
LoadForm();
}
void fsw_Created(object sender, FileSystemEventArgs e)
{
tmrRefresh.Start();
MessageBox.Show("AJOUT");
}
void fsw_Deleted(object sender, FileSystemEventArgs e)
{
tmrRefresh.Start();
MessageBox.Show("SUPPRESSION");
} |
Lorsqu'un fichier est supprimé où ajouté, le timer TmrRefresh et lancé et lorsqu'il arrive à 0 il me ferme une form pour me la réouvrir (ou une autre)
Ce qui est très très très suspect :
Si je mets le MessageBox.Show dans mes fsw_, ça fonctionne, si je ne les mets pas, ça fonctionne pas rien ne se passe !
En mode débug : si j'ai la messagebox active, en F11 point à point je passe dans le tmrRefresh, si je mets la messagebox inactive en commentaire //, je fais f11 je ne pase pas dans le tmr rien ne se passe
Et pour être concret j'aimerais que mon FileSystemWatcher fsw soit actif en permanence et qu'il passe dans le tmrRefresh en cas de suppression de fichier dans le dossier ou d'ajout de fichier