Share via


Verbinden mit benutzerdefinierten Ereignishandlern

Outlook löst Ereignisse aus, um Add-Ins über Vorgänge zu benachrichtigen, wie beispielsweise über den Vorgang eines neuen E-Mailelements im Postfach. Darüberhinaus können Add-ins Outlook gegenüber angeben, welche Aktionen ausgeführt werden sollen, wenn ein bestimmtes Ereignis eintritt. Diese Warnungs- und Rückrufmechanismen werden von Stellvertretungen des .NET Frameworks unterstützt. Die Outlook- PIA (Primary Interop Assembly) definiert Stelvertretungen mit denen Sie Rückrufmethoden verbinden können, um entsprechende Ereignisse zu verarbeiten. Dieses Thema beschreibt den Prozess des Definierens einer Rückrufmethode und ihre Verbindung als Ereignishandler mit dem Outlook-Objekt.

Erstellen einer Rückrufmethode

Bei einem Rückruf handelt es sich um eine Methode, die implementiert wird, um das Auftreten eines bestimmten Ereignisses zu verarbeiten, und die durch eine Benachrichtigungsquelle ausgelöst wird. In Outlook können Add-Ins Rückrufmethoden implementieren, um auf bestimmte von Outlook ausgelöst Ereignisse zu antworten. Dabei muss die Rückrufmethode mit der Stellvertretungssignatur des Ereignisses übereinstimmen. Um zum Beispiel einen Ereignishandler für das ItemSend-Ereignis zu implementieren, müssen Sie die Rückrufmethode deklarieren, die mit der Signatur der entsprechenden Stellvertretung übereinstimmt:

public delegate void ApplicationEvents_11_ItemSendEventHandler(object Item, ref bool Cancel)
Public Delegate Sub ApplicationEvents_11_ItemSendEventHandler(_
    ByVal Item As Object, ByRef Cancel As Boolean)

Ignorieren Sie beim Definieren der Rückrufmethode das Delegate-Schlüsselwort, das andernfalls eine andere Stellvertretung definieren würde. Eine Beispielrückrufmethode, MyItemSendEventHandler, finden Sie unten:

public void MyItemSendEventHandler(object Item, ref bool Cancel)
Public Sub MyItemSendEventHandler (_
    ByVal Item As Object, ByRef Cancel As Boolean)
…
End Sub

Verbinden einer Rückrufmethode

Nachdem Sie eine Rückrufmethode für ein Ereignis implementiert haben, können Sie sie mit dem Outlook-Objekt verbinden, damit Outlook weiß, dass die Methode als Ereignishandler für dieses Ereignis aufgerufen werden muss. Beachten Sie, dass ein Ereignis von mehreren Ereignishandlern behandelt werden kann, und an dieser Stelle kommen Delegaten ins Spiel, die Ereignisbehandlung zu Ereignishandlern zuweisen.

Um mit dem letzten Beispiel für das Angeben eines Ereignishandlers für das ItemSend-Ereignis des Application-Objekts fortzufahren und MyItemSendEventHandler mit dem Application-Objekt in C# zu verbinden, erstellen Sie eine Instanz des Stellverterterobjekts, übermitteln MyItemSendEventHandler zum Konstruktor des Stellvertreterobjekts und fügen dieses Stellvertreterobjekt dann zum ItemSend-Ereignis hinzu, indem Sie den Operator += verwenden:

app.ItemSend += new ApplicationEvents_11_ItemSendEventHandler(MyItemSendEventHandler)

Verwenden Sie in Visual Basic die AddHandler-Anweisung zum Zuordnen des ItemSend-Ereignisses mit dem MyItemSendEventHandler-Ereignishandler:

AddHandler app.ItemSend, AddressOf MyItemSendEventHandler

Siehe auch