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

Пользовательские области формы расширяют стандартные или настраиваемые формы Microsoft Office Outlook. В этом пошаговом руководстве показано, как проектировать пользовательскую область формы, которая отображается в виде новой страницы в окне инспектора элемента контактов. В этой области формы отображается карта каждого адреса, указанного для контакта, путем отправки информации об адресе на веб-сайт локального поиска Windows Live. Сведения о регионах форм см. в разделе "Создание областей форм Outlook".

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

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Создание нового проекта надстройки Outlook VSTO

  • Добавление области формы в проект надстройки VSTO

  • Разработка макета области формы

  • Настройка поведения области формы

  • Тестирование области формы Outlook

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

link to video Видеоверсию этой статьи см. в разделе "Видео как: проектирование области формы Outlook".

Создание проекта надстройки VSTO Для Outlook

Сначала создайте базовый проект надстройки VSTO.

Порядок создания нового проекта надстройки Outlook VSTO

  1. В Visual Studio создайте проект надстройки VSTO Outlook с именем MapItAddIn.

  2. В диалоговом окне Создание проекта выберите Создать каталог для решения.

  3. Сохраните проект в любом каталоге.

    Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

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

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

Порядок добавления области формы в проект надстройки Outlook VSTO

  1. В Обозреватель решений выберите проект MapItAddIn.

  2. В меню Проект выберите Добавить новый элемент.

  3. В диалоговом окне "Добавить новый элемент" выберите "Область формы Outlook", назовите файл MapIt и нажмите кнопку "Добавить".

    Откроется мастер создания области формы NewOutlook.

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

  5. Выберите тип области формы, которую вы хотите создать, нажмите кнопку "Разделить" и нажмите кнопку "Далее".

    Отдельная область формы добавляет новую страницу в форму Outlook. Дополнительные сведения о типах областей форм см. в разделе "Создание областей форм Outlook".

  6. В описательном тексте предложения и выберите страницу параметров отображения, введите "Сопоставить его " в поле "Имя ".

    Это имя отображается на ленте окна инспектора при открытии элемента контактов.

  7. Выберите инспекторы, которые находятся в режиме создания и инспекторах, которые находятся в режиме чтения, и нажмите кнопку "Далее".

  8. На странице "Определение классов сообщений", отображающих эту область формы, снимите флажок "Почта", выберите "Контакт" и нажмите кнопку "Готово".

    Файл MapIt.cs или MapIt.vb добавляется в проект.

Проектирование макета области формы

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

Порядок разработки макета области формы

  1. В Обозреватель решений разверните проект MapItAddIn, а затем дважды щелкните MapIt.cs или MapIt.vb, чтобы открыть конструктор областей форм.

  2. Щелкните правой кнопкой мыши конструктор и выберите пункт "Свойства".

  3. В окне "Свойства" задайте значение "Размер" 664, 469.

    Это гарантирует, что область формы будет достаточно большой, чтобы отображать карту.

  4. В меню Вид выберите пункт Область элементов.

  5. На вкладке "Общие элементы управления" панели элементов добавьте webBrowser в область формы.

    WebBrowser отобразит карту каждого адреса, указанного для контакта.

Настройка поведения области формы

Для настройки поведения области формы во время выполнения добавьте код в обработчики событий области формы. Для этой области формы код проверяет свойства элемента Outlook и определяет, следует ли отображать область формы Map It. Если область формы отображается, код переходит на веб-сайт локального поиска Windows Live и загружает карту для каждого адреса, включенного в элемент контактов Outlook.

Порядок настройки поведения области формы

  1. В Обозреватель решений щелкните правой кнопкой мыши MapIt.cs или MapIt.vb, а затем щелкните "Просмотреть код".

    MapIt.cs или MapIt.vb открывается в редакторе кода.

  2. Разверните область кода фабрики форм.

    Предоставляется класс фабрики областей формы с именем MapItFactory.

  3. Добавьте следующий код в обработчик событий MapItFactory_FormRegionInitializing. Этот обработчик событий будет вызываться, когда пользователь открывает элемент контактов. Следующий код определяет, содержит ли элемент контактов адрес. Если элемент контакта не содержит адрес, этот код задает Cancel свойство FormRegionInitializingEventArgs класса true , а область формы не отображается. В противном случае надстройка VSTO выдает событие FormRegionShowing и отображает область формы.

    private void MapItFactory_FormRegionInitializing(object sender,
        Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e)
    {
        Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem;
    
        if (myItem != null)
        {
            if ((myItem.BusinessAddress != null &&
                    myItem.BusinessAddress.Trim().Length > 0) ||
                (myItem.HomeAddress != null && 
                    myItem.HomeAddress.Trim().Length > 0) ||
                (myItem.OtherAddress != null && 
                    myItem.OtherAddress.Trim().Length > 0))
            {
                return;
            }
        }
    
        e.Cancel = true;
    }
    
  4. Добавьте следующий код в обработчик событий FormRegionShowing. Этот код выполняет следующие задачи:

    • Сцепляет каждый адрес в элементе контактов и создает строку URL-адреса.

    • Вызывает метод Navigate объекта WebBrowser и передает строку URL-адреса в качестве параметра.

      Веб-сайт локального поиска отображается в области формы Map It и представляет каждый адрес в тестовой области.

      private void MapIt_FormRegionShowing(object sender, EventArgs e)
      {
          string tempLoc = "";
          string defaultAddress = "";
          string scratchPadAddress = "";
      
          Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem;
      
          if (myItem != null)
          {
              if (myItem.HomeAddress != null && 
                      myItem.HomeAddress.Trim().Length > 0)
              {
                  tempLoc = myItem.HomeAddressStreet.Trim() + " " + 
                      myItem.HomeAddressCity + " " + myItem.HomeAddressState + 
                          " " + myItem.HomeAddressPostalCode;
                  if (myItem.HomeAddress == myItem.MailingAddress)
                  {
                      defaultAddress = tempLoc + "_Home";
                  }
                  else
                  {
                      scratchPadAddress += "adr." + tempLoc + "_Home~";
                  }
              }
              if (myItem.BusinessAddress != null && 
                      myItem.BusinessAddress.Trim().Length > 0)
              {
                  tempLoc = myItem.BusinessAddressStreet.Trim() + 
                      " " + myItem.BusinessAddressCity + " " + 
                          myItem.BusinessAddressState + " " + 
                              myItem.BusinessAddressPostalCode;
                  if (myItem.BusinessAddress == myItem.MailingAddress)
                  {
                      defaultAddress = tempLoc + "_Business";
                  }
                  else
                  {
                      scratchPadAddress += "adr." + tempLoc + "_Business~";
                  }
              }
              if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)
              {
                  tempLoc = myItem.OtherAddressStreet.Trim() + " " + 
                      myItem.OtherAddressCity + " " + myItem.OtherAddressState + 
                          " " + myItem.OtherAddressPostalCode;
                  if (myItem.OtherAddress == myItem.MailingAddress)
                  {
                      defaultAddress = tempLoc + "_Other";
                  }
                  else
                  {
                      scratchPadAddress += "adr." + tempLoc + "_Other~";
                  }
              }
          }
      
          webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" 
              + defaultAddress + "&sp=" + scratchPadAddress);
      
      }
      

Проверка области формы Outlook

При запуске проекта в Visual Studio открывается Outlook. Для просмотра области формы Map It откройте элемент контактов. Область формы Map It отображается в виде страницы в форме каждого элемента контактов, содержащего адрес.

Порядок тестирования области формы Map It

  1. Нажмите клавишу F5, чтобы запустить проект.

    Открывается Outlook.

  2. На вкладке "Главная " в Outlook щелкните "Новые элементы" и нажмите кнопку "Контакт".

  3. В форме контакта введите Ann Beebe в качестве имени контакта, а затем укажите следующие три адреса.

    Тип адреса Адрес
    Рабочий 4567 Главный Сент-Буффало, Нью-Йорк
    Домашняя страница 1234 Северная Сент-Буффало, Нью-Йорк
    Другое 3456 Главный Сент-Сиэтл, WA
  4. Сохраните и закройте элемент контактов.

  5. Откройте элемент контакта Ann Beebe.

    В Outlook это можно сделать в группе поиска, открыв адресную книгу для контактов или введя Ann Beebe в search Люди.

  6. В группе "Показать" ленты элемента щелкните "Сопоставить его", чтобы открыть область формы map It.

    Появляется область формы Map It, где отображается веб-сайт локального поиска. Адреса бизнеса, дома и других адресов отображаются на начальной панели. Выберите в тестовой области адрес, который необходимо сопоставить.

Следующие шаги

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