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

Для настройки форм Microsoft Office Outlook можно использовать области формы. Visual Studio предоставляет расширенные средства, которые упрощают процесс проектирования, разработки и отладки областей формы.

Область применения. Сведения в этом разделе относятся к проектам надстроек VSTO для Outlook. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В данном подразделе содержатся следующие сведения.

Преимущества использования областей форм

Области формы значительно расширяют традиционные возможности разработки форм Outlook.

  • Настройка страницы по умолчанию любой стандартной формы.

  • Добавление до 12 дополнительных страниц в любую стандартную форму.

  • Замена или расширение любой стандартной формы.

  • Отображение настраиваемого пользовательского интерфейса в области чтения и в инспекторах.

    Дополнительные сведения см. в разделе "Настройка страниц форм" и областей форм.

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

Мастер создания области форм Outlook можно использовать для разработки нового региона формы или импорта области формы, разработанной в Outlook. Кроме того, если у вас есть область формы, которую вы использовали в другом проекте надстройки Outlook VSTO, то эту область формы можно использовать повторно.

Создание области формы с помощью мастера

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

Укажите в мастере, что необходимо сделать — создать новую область формы или импортировать область формы, спроектированную в Outlook. Дополнительные сведения о разработке нового региона формы см. в разделе "Использование конструктора областей форм". Дополнительные сведения об использовании области формы, разработанной в Outlook, см. в разделе "Импорт области формы", разработанной в Outlook.

Укажите в мастере тип области формы, которую требуется создать. В следующей таблице указаны все типы областей формы.

Тип области Description
Разделить Добавляет область формы как новую страницу в форме Outlook.
Смежные Добавляет область формы в нижнюю часть страницы по умолчанию формы Outlook.
Замена Добавляет область формы как новую страницу, которая заменяет страницу по умолчанию формы Outlook.
Заменить все Заменяет всю форму Outlook на область формы.

В мастере также можно указать условия отображения и выбрать тип формы для расширения. Дополнительные сведения см. в статье "Практическое руководство. Добавление области формы в проект надстройки Outlook".

Значения, выбираемые в мастере, влияют на параметры, доступные на других страницах мастера. Например, если выбрать "Присоединение" или "Разделить" на странице "Создание области формы Outlook", поля "Название" и "Описание" недоступны в описательном тексте предложения и выберите страницу настроек отображения. Это объясняется тем, что при отображении смежной или отдельной области формы Outlook не использует эти поля.

Файлы области формы

После завершения работы мастера создания области форм Outlook Visual Studio автоматически добавляет в проект следующие файлы:

  • Файл кода области формы. Этот файл имеет имя, указанное для элемента области формы Outlook в диалоговом окне "Добавление нового элемента". Добавьте код для обработки событий области формы в этот файл.

  • Файл кода конструктора областей формы. Этот файл содержит код, созданный конструктором областей формы (его не следует изменять прямо в файле).

  • Файл формы Outlook служба хранилища (ofs).

    Примечание.

    Этот файл добавляется в проект только при импорте области формы, которая была спроектирована в Outlook.

Класс фабрики области формы

Файл кода области формы содержит разделяемый класс, реализующий интерфейс IFormRegionFactory. Это класс фабрики областей формы. Класс фабрики областей формы отвечает за создание новых экземпляров области формы.

Этот класс можно найти, разверните регион фабрики форм.

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

Основная часть класса фабрики областей формы реализована в файле конструктора областей формы. Однако обработчик событий FormRegionInitializing предоставляется в файле кода области формы. Этот обработчик событий можно использовать, чтобы указать, должен ли Outlook отображать область формы. Дополнительные сведения см. в разделе "Обработка событий области формы".

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

Если у вас есть область формы Outlook, которую вы использовали в другом проекте Outlook, ее можно повторно использовать в текущем проекте надстройки Outlook VSTO с помощью диалогового окна Добавление существующего элемента .

Существующий регион формы должен иметь файл кода (VB или CS); нельзя добавлять файлы формы Outlook служба хранилища (OFS) с помощью диалогового окна "Добавить существующий элемент". Тем не менее новую область формы можно создать путем импорта файла хранилища форм Outlook. Дополнительные сведения см. в статье "Практическое руководство. Добавление области формы в проект надстройки Outlook".

Использование конструктора областей формы

Конструктор областей формы позволяет спроектировать макет и внешний вид области формы. Управляемые элементы управления можно перетащить на поверхность конструктора, дважды щелкнуть элементы управления, чтобы открыть обработчики событий и задать свойства в окне свойств .

Примечание.

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

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

Чтобы открыть конструктор областей формы, можно использовать три способа.

  • В Обозреватель решений дважды щелкните файл кода области формы.

  • В Обозреватель решений щелкните правой кнопкой мыши файл кода области формы и щелкните конструктор представлений.

  • В Обозреватель решений выберите файл кода области формы, а затем в меню "Вид" щелкните Конструктор.

    Конструктор областей формы поддерживает только управляемые элементы управления. Добавлять собственные элементы управления Outlook нельзя.

Импорт области формы, разработанной в Outlook

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

Области форм можно импортировать в проект надстройки VSTO Outlook с помощью мастера создания области форм Outlook. На странице "Выбор способа создания области формы" выберите импорт файла формы Outlook служба хранилища (.ofs). Затем можно перейти к расположению файла служба хранилища формы Outlook (OFS). (Outlook сохраняет области форм в виде файлов .ofs .)

Мастер создания формы Outlook копирует файл ofs в каталог проекта и добавляет ссылки на элементы управления в файл конструктора областей формы. Затем события элементов управления можно обработать в файле кода области формы.

Для обработки событий в проекте Visual Basic выберите событие в списке имен методов в верхней части редактора кода.

Для обработки событий в проекте C# подпишитесь на события элементов управления в методе FormRegionShowing. Дополнительные сведения см. в статье "Практическое руководство. Подписка на события и отмена подписки на события (руководство по программированию на C#)..

Свойства области формы можно изменить в методе InitializeManifest класса фабрики областей формы.

Примечание.

Для импорта области формы необходимо работать в проекте, ориентированном на ту же версию Outlook, которая установлена на компьютере разработчика. Например, если у вас установлен Outlook 2010, импорт области формы будет работать только в проекте с помощью шаблона проекта надстройки Outlook 2010.

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

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

Добавление пользовательского кода в область формы

Пространство имен Microsoft.Office.Tools.Outlook предоставляет доступ к классам, которые представляют область формы, элемент Outlook, отображающий область формы, и другие полезные элементы. Элемент области формы Outlook автоматически добавляет ссылку на эту сборку в проекте и вставляет соответствующую инструкцию using or Import в верхней части файла кода области формы.

Для выполнения большинства задач программирования для Outlook можно использовать классы, методы и свойства в пространстве имен Microsoft.Office.Interop.Outlook. Дополнительные сведения об объектной модели Outlook см. в обзоре объектной модели Outlook. Примеры типичных задач, использующих объектную модель Outlook, см . в решениях Outlook.

Обработка событий области формы

Элемент области формы Outlook автоматически добавляет следующие три обработчика событий в файл кода области формы.

Мероприятие Description
FormRegionInitializing Возникает перед инициализацией области формы. В этом обработчике событий можно проверять условия, чтобы указать, должен ли Outlook отображать область формы. Дополнительные сведения см. в разделе "Практическое руководство. Запрет отображения области формы в Outlook".
FormRegionShowing Возникает после создания экземпляра области формы, но перед отображением области формы.
FormRegionClosed Возникает перед закрытием области формы.

Сборка проекта

При сборке проекта надстройки Outlook VSTO, содержащего область формы, Visual Studio добавляет в реестр следующую информацию.

  • Раздел для каждого класса сообщений, связанного с одной или несколькими областями формы.

  • Запись для каждой области формы и соответствующее значение, представляющее имя надстройки Outlook VSTO.

    Outlook использует эту информацию для загрузки областей формы.

Отладка области формы

Вы можете выполнить отладку надстройки VSTO Outlook, содержащей область формы так же, как и отладку других проектов Visual Studio. При запуске отладчика Visual Studio Visual Studio автоматически запускает Outlook.

Для просмотра области формы необходимо открыть соответствующий элемент Outlook. Например, если смежная область формы добавляется в конец почтового элемента, откройте почтовый элемент.

Развертывание области формы

Области формы автоматически развертываются вместе со связанной надстройкой Outlook VSTO. Таким образом, для развертывания области формы никакие специальные действия выполнять не нужно. Дополнительные сведения о развертывании надстроек VSTO см. в статье "Развертывание решения Office".

Заголовок Description
Рекомендации по созданию областей форм Outlook Представлены сведения, которые могут помочь оптимизировать области формы и предотвратить потенциальные проблемы.
Практическое руководство. Добавление области формы в проект надстройки Outlook Показывает, как создать область формы для расширения стандартной или настраиваемой формы Microsoft Office Outlook с помощью мастера создания области форм Outlook.
Связывание области формы с классом сообщений Outlook Объясняется, как указать элементы Microsoft Office Outlook, которые будут отображать область формы, путем связывания области формы с классом сообщений каждого элемента.
Пошаговое руководство. Проектирование области формы Outlook Показано, как проектировать настраиваемую область формы, которая отображается в виде новой страницы в окне инспектора элемента контактов.
Пошаговое руководство. Импорт области формы, разработанной в Outlook Показывает, как создать область формы в Microsoft Office Outlook, а затем импортировать область формы в проект надстройки VSTO Outlook с помощью мастера создания области форм Outlook.
Доступ к области формы во время выполнения Описывается написание кода для отображения, скрытия или изменения элементов управления в области формы. Пользователям предоставляется возможность выполнить код из других областей проекта с помощью класса Globals.
Практическое руководство. Запрет отображения области формы в Outlook Показано, как запретить в Microsoft Office Outlook отображение области формы для конкретного элемента.
Показано, как получить доступ к элементу Outlook, в котором отображается область формы.
Пользовательские действия в регионах формы Outlook Описывает, как предоставить пользователям возможность реагировать на элемент Outlook.