Comme le suggère le titre, je cherche un moyen d'obtenir l'élément qui a déclenché l'événement. I Bind Property_Change Evénement dans l'événement Application_ItemLoad dans lequel j'ai un objet que je ne peux pas utiliser. Après le lancement du Property_Change, j'ai besoin de l'élément qui a déclenché l'événement pour appeler ma fonction. Y a-t-il un moyen d'obtenir ceci? (Je sais que je peux obtenir l'élément ouvert en cours via ActiveExplorer, mais si les éléments sont modifiés dans la fenêtre principale, je reçois null).Outlook Ajouter Dans l'objet après l'événement Property_Change
code: ThisAddIn.cs
private Explorer _Explorer;
private List<WrapperItem> list = new List<WrapperItem>;
private void ThisAddIn_Startup(object sender, System.EventArgs e){
_Explorer = this.Application.ActiveExplorer();
_Explorer.SelectioNChange += _Explorer_SelectionChange;
}
void _Explorer_SelectionChange()
{
list.Clear();
foreach (MailItem mail in _Explorer.Selection)
{
list.Add(new WrapperItem(mail));
}
}
semble raisonnable, pourriez-vous donner un exemple ou un lien sur la façon d'utiliser une classe wrapper dans cet incident spécifique? (Im les lier actuellement sur folders.items.propertchange – Florian
Bien sûr, regardez l'exemple de code mis à jour ci-dessus –
Aussi, ne jamais jamais définir des éviers d'événements sur tous les éléments d'un dossier - vous allez tuer votre système.Utilisez MAPIFolder.Items événements ou seulement Configurer les récepteurs d'événements sur les éléments de la collection Application.ActiveExplorer.Selection Supprimer les anciens éléments lorsque l'événement Explorer.SelectionChange se déclenche et ajouter les éléments dans l'Explorateur.Selection à la liste des éléments que vous effectuez le suivi –