在运行时访问窗体区域

适用对象

本主题中的信息仅适用于以下项目类型和 Microsoft Office 版本。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

项目类型

  • 应用程序级项目

Microsoft Office 版本

  • Outlook 2007

  • Outlook 2010

使用 Globals 类,可以从 Outlook 项目中的任何位置访问窗体区域。 有关 Globals 类的更多信息,请参见对 Office 项目中对象的全局访问

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

访问在特定 Outlook 检查器窗口中显示的窗体区域

若要访问在特定 Outlook 检查器中显示的所有窗体区域,请调用 Globals 类的 FormRegions 属性,并传入一个表示该检查器的 Inspector 对象。

下面的示例获取在当前获得焦点的检查器中显示的窗体区域的集合。 然后,此示例访问名为 formRegion1 的集合中的窗体区域,并将显示在文本框中的文本设置为 Hello World。

    Private Sub Access_Form_Regions_ByInspector()
        Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
            (Globals.ThisAddIn.Application.ActiveInspector())
        formRegions.FormRegion1.textBox1.Text = "Hello World"
    End Sub

private void Access_Form_Regions_ByInspector()
{
    WindowFormRegionCollection formRegions = 
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveInspector()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

访问在特定 Outlook 资源管理器窗口中显示的窗体区域

若要访问在特定 Outlook 资源管理器中显示的所有窗体区域,请调用 Globals 类的 FormRegions 属性,并传入一个表示该资源管理器的 Explorer 对象。

下面的示例获取在当前获得焦点的资源管理器中显示的窗体区域的集合。 然后,此示例访问名为 formRegion1 的集合中的窗体区域,并将显示在文本框中的文本设置为 Hello World。

Private Sub Access_Form_Regions_ByExplorer()
    Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
        (Globals.ThisAddIn.Application.ActiveExplorer())
    formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
    WindowFormRegionCollection formRegions =
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveExplorer()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

访问所有窗体区域

若要访问在所有资源管理器和所有检查器中显示的所有窗体区域,请调用 Globals 类的 FormRegions 属性。

下面的示例获取在所有资源管理器和所有检查器中显示的窗体区域的集合。 然后,此示例访问名为 formRegion1 的窗体区域,并将显示在文本框中的文本设置为 Hello World。

Friend Sub Access_All_Form_Regions()
    Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
    For Each formRegion In Globals.FormRegions
        If TypeOf formRegion Is FormRegion1 Then
            Dim formRegion1 As FormRegion1 = _
                CType(formRegion, FormRegion1)
            formRegion1.textBox1.Text = "Hello World"
        End If
    Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
    foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion 
        in Globals.FormRegions)
    {
        if (formRegion is FormRegion1)
        {
            FormRegion1 formRegion1 = (FormRegion1)formRegion;
            formRegion1.textBox1.Text = "Hello World";
        }
    }

}

访问窗体区域中的控件

若要使用 Globals 类来访问窗体区域中的控件,必须使窗体区域代码文件外部的代码可以访问控件。

在窗体区域设计器中设计的窗体区域

对于 C#,更改要访问的每个控件的修饰符。 若要执行此操作,请在窗体区域设计器中选择每个控件,然后在**“属性”窗口中将“Modifiers”属性更改为“Internal”或“public”。 例如,如果将 textBox1 的“Modifier”**属性更改为“Internal”,则可以通过键入 Globals.FormRegions.FormRegion1.textBox1 来访问 textBox1。

对于 Visual Basic,不需要更改修饰符。

导入的窗体区域

如果导入在 Outlook 中设计的窗体区域,则窗体区域中每个控件的访问修饰符变为私有。 因为无法使用窗体区域设计器来修改导入的窗体区域,所以无法在**“属性”**窗口更改控件的修饰符。

若要能够从窗体区域代码文件外部访问控件,请在窗体区域代码文件中创建属性来返回该控件。

有关如何在 C# 中创建属性的更多信息,请参见如何:声明和使用读/写属性(C# 编程指南)

有关如何在 Visual Basic 中创建属性的更多信息,请参见How to: Add Fields and Properties to a Class

请参见

任务

演练:设计 Outlook 窗体区域

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

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

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

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

概念

Outlook 窗体区域创建准则

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

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

在运行时访问功能区

其他资源

创建 Outlook 窗体区域