创建 Outlook 窗体区域

可以使用窗体区域来自定义 Microsoft Office Outlook 窗体。Visual Studio 提供了一些便于设计、开发和调试窗体区域的高级工具。

**适用于:**本主题中的信息适用于 Outlook 2013 和 Outlook 2010 的应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

本主题提供以下信息:

  • 使用窗体区域的优点

  • 将 Outlook 窗体区域添加到项目

  • 使用窗体区域设计器

  • 使用在 Outlook 中设计的窗体区域

  • 向窗体区域添加自定义代码

  • 生成项目

  • 调试窗体区域

  • 部署窗体区域

使用窗体区域的优点

窗体区域提供了很多优于传统 Outlook 窗体开发的增强功能:

  • 自定义任何标准窗体的默认页面。

  • 向任意标准窗体中添加额外页面(最多 12 个)。

  • 替换或增强任何标准窗体。

  • 在阅读窗格和检查器中显示自定义 UI。

有关更多信息,请参见自定义窗体页和窗体区域

将 Outlook 窗体区域添加到项目

可使用**“新建 Outlook 窗体区域”**向导设计新的窗体区域,或导入在 Outlook 中设计的窗体区域。此外,如果您有一个已在其他 Outlook 外接程序项目中使用的窗体区域,则可以重用现有窗体区域。

Bb386301.collapse_all(zh-cn,VS.110).gif使用向导创建新窗体区域

若要创建窗体区域,请将一个**“Outlook 窗体区域”项添加到 Outlook 外接程序项目。这将启动“新建 Outlook 窗体区域”**向导。

使用该向导指示是要设计新窗体区域,还是要导入已在 Outlook 中设计的窗体区域。有关如何设计新窗体区域的更多信息,请参见使用窗体区域设计器。有关如何使用在 Outlook 中设计的窗体区域的更多信息,请参见导入在 Outlook 中设计的窗体区域。

使用向导指定要创建的窗体区域的类型。下表描述了每种窗体区域类型。

区域类型

描述

分隔

将窗体区域添加为 Outlook 窗体中的新页。

相邻

将窗体区域追加到 Outlook 窗体默认页面的底部。

替换

将窗体区域作为替换 Outlook 窗体默认页面的新页添加。

全部替换

用窗体区域替换整个 Outlook 窗体。

在该向导中,可以指定显示条件,可以选择要扩展的窗体类型。有关更多信息,请参见如何:向 Outlook 外接程序项目中添加窗体区域

在该向导中所作的选择将影响其他向导页中的可用选项。例如,如果在**“新建 Outlook 窗体区域”页中选择“相邻”“分隔”,则“标题”“说明”字段在“提供说明性文本并选择显示首选项”**页中将不可用。这是因为 Outlook 在显示相邻或分隔窗体区域时不使用这些字段。

Bb386301.collapse_all(zh-cn,VS.110).gif窗体区域文件

完成**“新建 Outlook 窗体区域”**向导后,Visual Studio 会将下列文件自动添加到项目中:

  • 窗体区域代码文件。此文件的名称为您在**“添加新项”对话框中为“Outlook 窗体区域”**项指定的名称。请将用于处理窗体区域事件的代码添加到此文件中。

  • 窗体区域设计器代码文件。此文件包含由窗体区域设计器生成的代码,不应直接编辑此文件。

  • Outlook 窗体存储 (.ofs) 文件。

    说明说明

    此文件只有在导入在 Outlook 中设计的窗体区域的情况下才会添加到项目。

Bb386301.collapse_all(zh-cn,VS.110).gif窗体区域工厂类

窗体区域代码文件包含一个实现 IFormRegionFactory 接口的分部类。这就是窗体区域工厂类。窗体区域工厂类负责创建窗体区域的新实例。

展开**“窗体区域工厂”**区域可找到此类。

**“新建 Outlook 窗体区域”**向导将向此类添加一些特性,这些特性指定窗体区域的内部名称以及显示该窗体区域的消息类。可以在该文件添加到项目中之后手动修改这些特性。

大部分窗体区域工厂类是在窗体区域设计器文件中实现的。但是,FormRegionInitializing 事件处理程序是在窗体区域代码文件中公开的。使用此事件处理程序可以指定 Outlook 是否应显示窗体区域。有关更多信息,请参见处理窗体区域事件。

Bb386301.collapse_all(zh-cn,VS.110).gif将现有窗体区域添加到项目

如果您有一个已在其他 Outlook 项目中使用的 Outlook 窗体区域,则可以使用**“添加现有项”**对话框,在当前 Outlook 外接程序项目中重用该窗体区域。

现有窗体区域必须有代码文件(.vb 或 .cs);不可使用**“添加现有项”**对话框添加 Outlook 窗体存储 (.ofs) 文件。但是,可以通过导入 Outlook 窗体存储文件来创建新的窗体区域。有关更多信息,请参见如何:向 Outlook 外接程序项目中添加窗体区域

使用窗体区域设计器

窗体区域设计器可帮助设计窗体区域的布局和外观。可以将托管控件拖到设计器图面,双击控件以打开事件处理程序,然后在**“属性”**窗口中设置属性。

说明说明

可以在“属性”窗口中的“清单”节点下面找到影响窗体区域在 Outlook 中的显示方式的属性。

只有在**“新建 Outlook 窗体区域”向导的“选择窗体区域的创建方式”页中选择了“设计新的窗体区域”**的情况下,窗体区域设计器才会可用。

有三种方式可打开窗体区域设计器:

  • 在**“解决方案资源管理器”**中双击窗体区域代码文件。

  • 在**“解决方案资源管理器”中,右击窗体区域代码文件,然后单击“视图设计器”**。

  • 在**“解决方案资源管理器”中选择窗体区域代码文件,然后在“视图”菜单上,单击“设计器”**。

窗体区域设计器只支持托管控件。不可添加本机 Outlook 控件。

导入在 Outlook 中设计的窗体区域

当在 Outlook 中进行设计时,可以将本机 Outlook 控件添加到窗体区域。本机 Outlook 控件可用来在设计时绑定到 Outlook 数据。但是,在此之后就不能使用窗体区域设计器来添加托管控件或更改窗体区域的设计。

使用**“新建 Outlook 窗体区域”向导可将窗体区域导入 Outlook 外接程序项目。在“选择窗体区域的创建方式”页上选择“导入 Outlook 窗体存储(.ofs)文件”**。然后可浏览到 Outlook 窗体存储 (.ofs) 文件的位置。(Outlook 将窗体区域保存为 .ofs 文件。)

**“新建 Outlook 窗体区域”**向导将该 .ofs 文件复制到项目目录,并将控件引用添加到窗体区域设计器文件。然后就可以在窗体区域代码文件中处理控件事件。

若要在 Visual Basic 项目中处理事件,请从代码编辑器顶部的方法名称列表中选择一个事件。

若要在 C# 项目中处理事件,请在 FormRegionShowing 方法中订阅控件事件。有关更多信息,请参见如何:订阅和取消订阅事件(C# 编程指南)

可以在窗体区域工厂类的 InitializeManifest 方法中更改窗体区域属性。

说明说明

若要导入一个窗体区域,您必须在这样的项目中工作,即该项目面向的 Outlook 版本与开发计算机上所安装的 Outlook 版本相同。例如,如果您已安装 Outlook 2010,则导入窗体区域仅在通过使用“Outlook 2010 外接程序”项目模板创建的项目中可行。

Bb386301.collapse_all(zh-cn,VS.110).gif更新导入的窗体区域的设计

可以添加、移除或更改窗体区域中的控件。进行这些操作之前,请备份任何添加到窗体区域代码文件中的代码。随后在 Outlook 中打开 .ofs 文件,修改窗体区域,然后保存更改。使用**“新建 Outlook 窗体区域”**向导可导入修改后的 .ofs 文件。然后可以将代码粘贴到新的窗体区域代码文件中。

向窗体区域添加自定义代码

Microsoft.Office.Tools.Outlook 命名空间可用来访问表示窗体区域的类、显示窗体区域的 Outlook 项,以及其他有用的项。**“Outlook 窗体区域”**项自动将引用添加到项目的程序集中,并在窗体区域代码文件的开头添加相应的 using 或 Imports 语句。

使用 Microsoft.Office.Interop.Outlook 命名空间中的类、方法和属性可以完成大部分 Outlook 编程任务。有关 Outlook 对象模型的更多信息,请参见 Outlook 对象模型概述。有关利用 Outlook 对象模型的典型任务示例,请参见Outlook 解决方案

Bb386301.collapse_all(zh-cn,VS.110).gif处理窗体区域事件

**“Outlook 窗体区域”**项自动将下面三个事件处理程序添加到窗体区域代码文件中。

Event

描述

FormRegionInitializing

在窗体区域初始化之前发生。可以检查此事件处理程序中的条件以确定 Outlook 是否应显示窗体区域。有关更多信息,请参见如何:防止 Outlook 显示窗体区域

FormRegionShowing

在创建窗体区域的实例后但在窗体区域显示前发生。

FormRegionClosed

在窗体区域关闭前发生。

生成项目

当生成包含窗体区域的 Outlook 外接程序项目时,Visual Studio 会向注册表中添加以下信息:

  • 与一个或多个窗体区域关联的每个邮件类的注册表项。

  • 每个窗体区域的注册表项,以及表示 Outlook 外接程序名称的关联值。

Outlook 使用这些信息来加载窗体区域。

调试窗体区域

可以像调试其他 Visual Studio 项目一样调试包含窗体区域的 Outlook 外接程序项目。启动 Visual Studio 调试器时,Visual Studio 将自动启动 Outlook。

若要查看窗体区域,必须打开相应的 Outlook 项。例如,如果相邻窗体区域追加在邮件项底部,请打开邮件项。

部署窗体区域

窗体区域自动随关联的 Outlook 外接程序一起部署。因此,不必执行任何特殊任务来部署窗体区域。有关如何部署外接程序的更多信息,请参见部署 Office 解决方案

相关主题

标题

描述

Outlook 窗体区域创建准则

提供有助于优化窗体区域和避免潜在问题的信息。

如何:向 Outlook 外接程序项目中添加窗体区域

演示如何使用“新建 Outlook 窗体区域”向导创建窗体区域,以扩展标准或自定义 Microsoft Office Outlook 窗体。

将窗体区域与 Outlook 邮件类关联

说明如何通过将窗体区域与 Microsoft Office Outlook 项的邮件类相关联,来指定显示该窗体区域的 Microsoft Office Outlook 项。

演练:设计 Outlook 窗体区域

演示如何设计作为新页出现在联系人项的检查器窗口中的自定义窗体区域。

演练:导入在 Outlook 中设计的窗体区域

演示如何在 Microsoft Office Outlook 中设计窗体区域,然后使用“新建 Outlook 窗体区域”向导将该窗体区域导入到 Outlook 外接程序项目中。

在运行时访问窗体区域

描述如何编写代码以显示、隐藏或修改窗体区域中的控件,以及如何使用户能通过使用 Globals 类从项目中的其他区域运行代码。

如何:防止 Outlook 显示窗体区域

演示如何防止 Microsoft Office Outlook 显示特定项的窗体区域。

演示如何访问显示窗体区域的 Outlook 项。

Outlook 窗体区域中的自定义操作

描述如何使用户能够响应 Outlook 项。