Outlook 2007加载项:在我的表单区域(WinForm)重用内置的“To ...”控件

时间:2010-11-02 12:34:34

标签: c# winforms vsto outlook-addin outlook-object-model

是否可以在我的WinForm(表单区域)中添加'To ...''Outlook.OlkTextBox'OlkTextBox控件,因此它将像outlook build-in一样工作(我不想创建我自己的Outlook地址电子邮件输入副本)?

如果是,您是否可以发布代码示例?

谢谢!

P.S。 Microsoft Office Outlook文本框控件等于Outlook.OlkTextBox。 我尝试使用设计模式(带有添加的COM组件的Visual Studio工具箱),但在以win形式移动时遇到奇怪的错误:

* Microsoft Visual Studio 无法创建组件'AxHost'。错误消息如下:  'System.Runtime.InteropServices.COMException(0x80040154):未注册的类(来自HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))    在System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost host)    在System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost host,IDictionary defaultValues)    在System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost host,IDictionary defaultValues)    在System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem工具,Control parent,Int32 x,Int32 y,Int32 width,Int32 height,Boolean hasLocation,Boolean hasSize,ToolboxSnapDragDropEventArgs e)'*

1 个答案:

答案 0 :(得分:1)

我想这是不可能的,因为'To ...'控件是基于COM的,并且设计用于COM表单区域(内部Outlook表单区域)(NOT WINFORM!)

仅适用于Outlook INTERNAL表单区域:


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!”;