Мне нужно отобразить пользовательскую форму вместо стандартной формы инспектора для элемента назначения перспективы. Я хочу сделать это на C#.VSTO - обработчик событий Outlook в C#
Существует хороший учебник по devx, но он использует VB, и я хочу использовать C#. Поэтому я перевел код на C#, и у меня возникла проблема, когда мне нужно переопределить обработчик события Open
для AppointmentItem
(так называемый mcAI
). В вышеупомянутом ституте, говорят они, чтобы сделать следующее в VB:
Private Sub tyAI_Open(ByRef Cancel As Boolean) Handles tyAI.Open
Cancel = True
End Sub
который мне переводится как:
private void mcAI_Open(out bool Cancel)
{
Cancel = true;
}
(Примечание Я попытался это с и без out
и ref
параметра и с/без объекта в качестве первых пар тоже)
Однако нам нужно зарегистрировать, что это с этим событием, так что я положил в этом коде:
mcAI.Open +=
new Microsoft.Office.Interop.Outlook.ItemEvents_10_OpenEventHandler(mcAI_Open);
Но я не могу скомпилировать это я получаю сообщение об ошибке:
No overload for 'mcAI_Open' matches delegate 'Microsoft.Office.Interop.Outlook.ItemEvents_10_OpenEventHandler'
Любые идеи о том, как я должен зарегистрировать свою функцию для Open
случае AppointmentItem
? Заранее спасибо.
(КСТАТИ есть MSDN QA, который предлагает мой код должен работать, и все же я до сих пор застрял.)
Спасибо, да это действительно работает на практике тоже! Я думал, что попробовал параметр ref - думаю, нет. Я использовал параметр out, потому что я нашел что-то подобное в документации, но не могу найти его сейчас, чтобы проверить, конечно. – Marcin