Outlook 2007 加载项:重用内置的“到...”控制我的窗体区域 (WinForm)

发布于 2024-09-30 14:24:23 字数 1075 浏览 6 评论 0原文

是否可以添加“到...”“Outlook.OlkTextBox”OlkTextBox 控件位于我的 WinForm(表单区域),因此它将像 Outlook 内置一样工作(我不想创建自己的 Outlook 地址电子邮件副本输入)?

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

谢谢!

PS 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 主机) 在 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)'*

Is it possible to add 'To...' 'Outlook.OlkTextBox' OlkTextBox control at my WinForm (form region), so it will work like outlook build-in (I don't want to create my own copy of outlook address email input)?

If yes, could you somebody post a code sample?

Thanks!

P.S. Microsoft Office Outlook Text Box Control equals Outlook.OlkTextBox.
I tried to use design mode (Visual Studio Tool Box with added COM component), but getting strange error while moving it at win form:

*Microsoft Visual Studio
Failed to create component 'AxHost'. The error message follows:
'System.Runtime.InteropServices.COMException (0x80040154): Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
at System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost host)
at System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost host, IDictionary defaultValues)
at System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost host, IDictionary defaultValues)
at System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem tool, Control parent, Int32 x, Int32 y, Int32 width, Int32 height, Boolean hasLocation, Boolean hasSize, ToolboxSnapDragDropEventArgs e)'*

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人生百味 2024-10-07 14:24:23

我想这是不可能的,因为“To...”控件是基于 COM 的,旨在与 COM 表单区域(内部 Outlook 表单区域)(不是 WINFORM!)一起使用。

仅适用于 Outlook 内部表单区域:


Microsoft .Office.Interop.Outlook.OlkTextBox
DynamicTextBox = new Microsoft.Office.Interop.Outlook.OlkTextBox();
动态表单 = this.OutlookFormRegion.Form;
form.Controls.Add(“Outlook.OlkTextBox”,dynamicTextBox,true);
DynamicTextBox.Text = "你好世界!";

I guess that this is impossible, because 'To...' control is COM based and designed to work with COM form region (internal Outlook form region) (NOT WINFORM!)

Will work for Outlook INTERNAL Form Region only:


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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文