Поделиться через


Доступ к области формы во время выполнения

Применение

Сведения этого раздела применяется только к следующим типам проектов и версии Microsoft Office.Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Тип проекта

  • Проекты уровня приложения

Версия Microsoft Office

  • Outlook 2010

Для доступа к областям форм из любого места проекта Outlook используется класс Globals.Дополнительные сведения о классе Globals см. в разделе Глобальный доступ к объектам в проектах Office.

Применение. Сведения этого раздела применяются к проектам уровня приложения для Outlook 2013 и Outlook 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Доступ к областям формы, отображаемым в определенном окне инспектора Outlook

Для доступа ко всем областям формы, отображаемым в указанном инспекторе Microsoft Outlook, необходимо вызвать свойство FormRegions класса Globals и передать ему объект 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

Для доступа ко всем областям формы, отображаемым в указанном проводнике Microsoft Outlook, необходимо вызвать свойство FormRegions класса Globals и передать ему объект 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";
}

Доступ ко всем областям формы

Для доступа ко всем областям формы, отображаемым во всех инспекторах и проводниках, обратитесь к свойству FormRegions класса Globals.

В следующем примере показано, как получить коллекцию областей формы, отображаемых во всех инспекторах и проводниках.Далее в примере производится доступ к области формы с именем 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 необходимо обеспечить доступ к элементам управления со стороны кода вне файла кода области формы.

Bb772084.collapse_all(ru-ru,VS.110).gifОбласти формы, созданные в конструкторе областей формы

Для C# следует изменить модификатор каждого элемента управления, к которым необходимо обеспечить доступ.Для этого необходимо выделить каждый элемент управления в конструкторе областей формы и в окне Свойства изменить свойство Модификаторы на Internal или public.Например, если для textBox1 изменить свойство Модификаторы на Internal, доступ к textBox1 можно получить с помощью строки Globals.FormRegions.FormRegion1.textBox1.

В Visual Basic нет необходимости изменять модификатор.

Bb772084.collapse_all(ru-ru,VS.110).gifИмпортируемые области формы

При импорте созданной в Outlook области формы модификатор доступа всех элементов управления в области формы меняется на закрытый.Поскольку изменить импортируемую область формы с помощью конструктора областей формы нельзя, изменить модификатор элемента управления в окне Свойства невозможно.

Чтобы обеспечить доступ к элементу управления извне файла кода области формы, следует создать свойство в файле кода области формы для получения этого элемента управления.

Дополнительные сведения о создании свойств в C# см. в разделе Практическое руководство. Объявление и использование свойств чтения и записи (Руководство по программированию на C#).

Дополнительные сведения о создании свойств в Visual Basic см. в разделе How to: Add Fields and Properties to a Class.

См. также

Задачи

Пошаговое руководство. Разработка области формы Outlook

Практическое руководство. Добавление области формы в проект надстройки Outlook

Пошаговое руководство. Импорт области формы, созданной в Outlook

Практическое руководство. Отсутствие отображения области формы в Outlook

Основные понятия

Рекомендации по созданию областей формы Outlook

Пользовательские действия в областях форм Outlook

Связывание области формы с классом сообщений Outlook

Доступ к ленте во время выполнения

Другие ресурсы

Создание областей форм Outlook