2

目标:C# .Net VSTO2010 我需要在 Outlook 的约会/日历项目窗口中添加一个面板。AppointmentItem 窗口是指当我们在 Outlook 中单击约会或创建新约会时打开的窗口。我需要在约会项目窗口(我更喜欢使用面板)中显示一些细节(与约会项目相关)。实际上,我在单独的选项卡中显示一些详细信息(插件相关详细信息)作为约会项目窗口中的表单,我想在约会项目的单个窗口(约会项目窗口)中显示这些详细信息

检查器:表示显示 Outlook 项目的窗口。但在 Inspector 中不支持添加面板

我可以在 Outlook 主窗口中添加面板或自定义任务窗格。但我无法在约会项目窗口中执行此操作。

我正在使用 .Net 4 框架,Visual Studio 2010。这必须在 Outlook 插件中完成,插件是 MS Office Outlook 2003、2007、2010 的目标(至少它应该支持 2007 和 2010)。

可以使用窗口句柄和窗口类将面板添加到 Outlook 主窗口,然后使用 User32.dll 中的函数。但是我无法在约会项目窗口上使用相同的技术。(我无法获得约会项目窗口的句柄)

可以使用一些代码将自定义任务窗格添加到 Outlook 主窗口,但我没有找到在约会项目窗口上执行此操作的功能。

寻求好的帮助或建议

4

1 回答 1

0

您可以通过自定义任务窗格和新检查器事件处理程序添加侧面板。

步骤1:

   private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(NewInspectorHandler);
    }

第2步:

        public void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
    {
        Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

        if(Inspector.CurrentItem is  Microsoft.Office.Interop.Outlook.AppointmentItem ) {

            UserControl uc1 = MyUserControl();
            myCustomTaskPane = getAddIn().CustomTaskPanes.Add(uc1, "MyPanel",Inspector);
            myCustomTaskPane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight;
            myCustomTaskPane.DockPositionRestrict = Office.MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange;
            myCustomTaskPane.Visible = true;

        }

        //Additionally You can add a property change listener to the current Item here
    }

这将在约会项目中显示自定义侧面板

于 2015-04-20T12:41:32.390 回答