2010-11-02 26 views
0

是否可以添加'To ...''Outlook.OlkTextBox'OlkTextBox控件在我的WinForm (表單區域),所以它會像Outlook的內置工作(我不想創建自己的Outlook地址電子郵件輸入副本)?Outlook 2007加載項:重用內置的「To ...」控件在我的Form區域(WinForm)

如果是,您可以發佈代碼示例嗎?

謝謝!

P.S. Microsoft Office Outlook文本框控件等於Outlook.OlkTextBox。 我試圖用設計模式(Visual Studio的工具箱添加了COM組件),但得到奇怪的錯誤,而在贏形式移動它:

*無法創建組件「AxHost」微軟的Visual Studio 。錯誤消息如下: 'System.Runtime.InteropServices.COMException(0x80040154):類未註冊(異常來自HRESULT:0x80040154(REGDB_E_CLASSNOTREG)) 在System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost主機) 在System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost的主機,IDictionary的defaultValues) 在System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost的主機,IDictionary的defaultValues) 在System.Windows.Forms.Design.OleDragDropHandler.CreateTool( ToolboxItem工具,控制父,Int32 x,Int32 y,Int32寬度,Int32高度,布爾hasLocation,布爾hasSize,ToolboxSnapDragDropEventArgs e)'*

回答

1

我想這是不可能的,因爲「要......」控制是基於COM,並設計了COM窗體區域(內部Outlook窗體區域)工作(非WinForm的!)

將工作爲Outlook內部形式地區:


Microsoft.Office.Interop.Outlook.OlkTextBox dynamicTextBox = new Microsoft.Office.Interop.Outlook.OlkTextBox(); dynamic form = this.OutlookFormRegion.Form; form.Controls.Add(「Outlook.OlkTextBox」,dynamicTextBox,true); dynamicTextBox.Text =「Hello world!」;

+1

結果:我決定使用RichTextBox和按鈕(在點擊時顯示標準Outlook對話框)實現我自己的'To ...'用戶控件。主要思想:1)將收件人更改的事件附加到邏輯,2)創建收件人字符(開始/結束)與真實收件人索引和收集之間的映射。然後跟蹤所有的刪除,選擇和兒子模擬所有操作。最複雜的是添加(彈出),所以暫時我跳過了這個子任務。 – SamFlushing 2010-12-25 09:07:51

相關問題