Bonsoir,

Je souhaite abonner une methode aux événements sur les dossiers afin de détecter par exemple si un dossier est créé ou supprimé dans mes dossiers personnels. Cette détection doit se faire quel que soit le niveau dans lequel le dossier est créé (pas seulement à la racine).

Dans ma version actuelle, j'arrive à ce résultat en parcourant de façon récursive tous les dossiers et en m'abonnant à l'événement FolderAdd de la collection folders
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
foreach (Outlook.Folder curFolder in this.Application.Session.Folders)
{
curFolder.Folders.FolderAdd += new Outlook.FoldersEvents_FolderAddEventHandler(Mon_Gestionnaire);
 
if (curFolder.Folders.Count > 0)
{
    this.ProcessFolder(curFolder);
}
}
La methode ProcessFolder va effectuer la même opération sur les sous dossiers du dossier courant.

J'aurais voulu savoir s'il y avait un autre moyen plus rapide d'arriver à mes fins. Par exemple un événement global auquel m'abonner et qui serait déclenché sur n'importe quelle création de dossier.

J'ai essayer sans faire un parcours récursif, mais dans ce cas les créations faite dans les sous dossiers ne sont pas rattachées à mon gestionnaire.