我需要显示自定义表单,而不是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表明我的代码应该可行,但我仍然卡住了。)
答案 0 :(得分:5)
理论上,这应该有效:
private void mcAI_Open(ref bool Cancel)
{
Cancel = true;
}