Ich brauche ein benutzerdefiniertes Formular anstelle der Standard-Inspektor-Formular für einen Outlook-Termin anzuzeigen. Ich möchte das in C# machen.VSTO - Outlook-Event-Handler in C#
Es gibt ein gutes Tutorial auf devx, aber es verwendet VB, und ich möchte C# verwenden. Also habe ich den Code in C# übersetzt und ich habe ein Problem, wo ich die Open
Event-Handler für die AppointmentItem
(mcAI
) überschreiben muss. In dem oben genannten tute, sagen sie folgendes in VB zu tun:
Private Sub tyAI_Open(ByRef Cancel As Boolean) Handles tyAI.Open
Cancel = True
End Sub
mir was übersetzt:
private void mcAI_Open(out bool Cancel)
{
Cancel = true;
}
(Anmerkung ich dies mit und ohne out
und ref
Parameter versucht haben, und mit/ohne Objekt als erste param auch)
Allerdings müssen wir registrieren, dass dies ein mit dem Ereignis ist, also habe ich in diesem Code setzen:
mcAI.Open +=
new Microsoft.Office.Interop.Outlook.ItemEvents_10_OpenEventHandler(mcAI_Open);
Aber ich kann das nicht kompilieren, wie ich den Fehler:
No overload for 'mcAI_Open' matches delegate 'Microsoft.Office.Interop.Outlook.ItemEvents_10_OpenEventHandler'
Alle Ideen, wie soll ich meine Funktion für die Open
Ereignis des AppointmentItem
registrieren? Danke im Voraus.
(BTW gibt es eine MSDN QA, die meinen Code schlägt funktionieren sollte, und doch bin ich immer noch fest.)
Danke, ja das funktioniert auch in der Praxis! Ich dachte, ich hätte einen Ref-Parameter ausprobiert - ich denke nicht. Ich habe einen out-Parameter verwendet, weil ich in der Dokumentation etwas gefunden habe, das ich jetzt nicht finden kann, um es zu überprüfen. – Marcin