VSTO - C#中的Outlook事件处理程序

时间:2009-05-02 11:39:59

标签: c# .net outlook vsto

我需要显示自定义表单,而不是Outlook预约项的默认检查器表单。我想在C#中这样做。

devx上有一个很好的教程,但它使用VB,我想使用C#。所以我已经将代码翻译成C#,我遇到了一个问题,我需要覆盖Open的{​​{1}}事件处理程序(称为AppointmentItem)。在上面提到的tute中,他们说要在VB中执行以下操作:

mcAI

我将其翻译为:

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'的{​​{1}}事件注册我的函数的任何想法?提前谢谢。

(顺便说一句,有一个MSDN QA表明我的代码应该可行,但我仍然卡住了。)

1 个答案:

答案 0 :(得分:5)

理论上,这应该有效:

private void mcAI_Open(ref bool Cancel)
{
    Cancel = true;
}