3
我需要顯示一個自定義窗體而不是Outlook預約項目的默認檢查器窗體。我想在C#中做到這一點。VSTO - C#中的Outlook事件處理程序
關於devx有一個很好的教程,但它使用VB,我想使用C#。所以我把代碼翻譯成C#,我遇到了一個問題,我需要覆蓋AppointmentItem
的Open
事件處理程序(稱爲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
的任何想法?提前致謝。
(BTW有一個MSDN QA這表明我的代碼應該工作,但我仍然堅持。)
謝謝,是的,這確實工作在實踐中呢!我以爲我曾嘗試過一個參數 - 我猜不是。我使用了一個out參數,因爲我在文檔中發現了這種效果,但是當然現在找不到它來檢查。 – Marcin 2009-05-02 13:59:07