Настраиваемые области задач
Области задач — это области пользовательского интерфейса, которые обычно прикрепляются к одной стороне окна приложения Microsoft Office.С помощью настраиваемых областей задач можно создать собственную область задач и предоставить пользователям знакомый интерфейс для доступа к функциональным возможностям решения.Например, интерфейс может содержать элементы управления, которые выполняют код для изменения документов или отображения данных из источника.
Применение. Сведения этого раздела применяются к проектам уровня приложения для Outlook 2013 и Outlook 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.
Примечание |
---|
Настраиваемая область задач отличается от панели действий.Панель действий составляющей настроек уровня документов для Microsoft Office Word и Microsoft Office Excel.Дополнительные сведения см. в разделе Общие сведения о панели действий. |
Преимущества настраиваемой области задач
Настраиваемые области задач позволяют интегрировать функции в знакомый пользовательский интерфейс.Инструменты Visual Studio позволяют быстро создавать настраиваемую область задач.
Знакомый пользовательский интерфейс
Пользователи приложений в системе Microsoft Office уже знакомы с использованием областей задач, таких как Стили и форматирование в Word.Поведение настраиваемых областей задач аналогично поведению областей задач в системе Microsoft Office.Пользователи могут закреплять настраиваемые панели задач с разных сторон окна приложения, а также перетаскивать настраиваемые панели задач в любую точку внутри окна.Пользователи могут создать надстройку, одновременно отображающую несколько настраиваемых областей задач, с возможностью контроля каждой отдельной области.
Поддержка Windows Forms
Интерфейс пользователя настраиваемой области задач, созданной с помощью средств разработки Office в Visual Studio, основан на элементах управления Windows Forms.Чтобы создать пользовательский интерфейс для настраиваемой области задач, можно использовать уже знакомый конструктор Windows Forms.Чтобы привязать источник данных к элементам управления в области задач, также можно использовать поддержку привязки данных в Windows Forms.
Создание настраиваемой области задач
Создать основную настраиваемую область задач можно за два этапа.
Создать пользовательский интерфейс для настраиваемой области задач, добавив элементы управления Windows Forms к объекту UserControl.
Создать настраиваемую область задач, путем передачи пользовательского элемента управления объекту CustomTaskPaneCollection в надстройке.Эта коллекция возвращает новый объект CustomTaskPane, который может использоваться для изменения внешнего вида области задач и ответа на пользовательские события.
Дополнительные сведения см. в разделе Практическое руководство. Добавление настраиваемой панели задач в приложение.
Создание пользовательского интерфейса
Все настраиваемые области задач, созданные с помощью средств разработки Office в Visual Studio, содержат объект UserControl.Этот пользовательский элемент управления предоставляет пользовательский интерфейс настраиваемой области задач.Пользовательский элемент управления можно создавать во время разработки или во время выполнения.Если пользовательский элемент управления создается во время разработки, для создания пользовательского интерфейса для области задач может использоваться конструктор Windows Forms.
Установка настраиваемой области задач
После создания пользовательского элемента управления, включающего пользовательский интерфейс настраиваемой области задач, необходимо создать CustomTaskPane.Для этого необходимо передать пользовательский элемент управления CustomTaskPaneCollection в надстройке путем вызова метода Add.Коллекция преобразовывается как поле CustomTaskPanes класса ThisAddIn.Следующий пример кода предназначен для выполнения из класса ThisAddIn.
myUserControl1 = New MyUserControl
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "My Task Pane")
myCustomTaskPane.Visible = True
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;
Методы Add возвращают новый объект CustomTaskPane.Этот объект может использоваться для изменения внешнего вида области задач и ответа на пользовательские события.
Контролирование области задач в нескольких окнах
Настраиваемые области задач в приложениях связаны с окном фрейма документа, отображающим документ или элемент.Область задач видна только тогда, когда отображается соответствующее окно.
Чтобы определить, какое из окон отображает настраиваемую область задач, используйте соответствующий метод Add, загружаемый при создании области задач.
Чтобы связать область задач с активным окном, используйте метод CustomTaskPaneCollection.Add(UserControl, String).
Чтобы связать область задач с документом, размещенным в определенном окне, воспользуйтесь методом CustomTaskPaneCollection.Add(UserControl, String, Object).
Некоторые приложения Office требуют предоставления явных инструкций, касающихся времени создания или отображения области задач, если открыто более одного окна.Поэтому важно учитывать место создания настраиваемой области задач в коде, чтобы гарантировать отображение области задач с соответствующими документами или элементами в приложении.Дополнительные сведения см. в разделе Управление настраиваемыми областями задач в окнах приложения.
Доступ к приложению из области задач
При необходимости автоматизации приложения из пользовательского элемента управления можно получить прямой доступ к объектной модели с помощью Globals.ThisAddIn.Application в коде.Статический класс Globals предоставляет доступ к объекту ThisAddIn.Поле Application данного объекта является точкой входа в объектную модель приложения.
Дополнительные сведения о поле Application объекта ThisAddIn см. в разделе Программирование надстроек уровня приложения.В разделе Руководство. Автоматизация приложения в настраиваемой области задач представлены инструкции, демонстрирующие процедуру автоматизации приложения с помощью настраиваемой области задач.Дополнительные сведения о классе Globals см. в разделе Глобальный доступ к объектам в проектах Office.
Управление пользовательским интерфейсом в настраиваемой области задач
После создания области задач можно использовать свойства и события объекта CustomTaskPane, чтобы контролировать пользовательский интерфейс области задач и реагировать на ее изменения.
Отображение настраиваемой области задач
По умолчанию область задач невидима.Чтобы отобразить область задач, для свойства Visible необходимо установить значение true.
Чтобы закрыть область задач, нажмите кнопку (X) (Закрыть) в углу.Однако настройки по умолчанию не предусмотрены для повторного отображения области задач.Если пользователь закроет настраиваемую область задач, просмотр области будет недоступен, до тех пор, пока администратором не будут предоставлены настройки для ее отображения.
Если настраиваемая область задач создается в надстройке, необходимо также создать элемент пользовательского интерфейса, например, кнопку, чтобы пользователи могли с ее помощью отображать или скрывать настраиваемую область задач.При создании настраиваемой области задач в приложении Microsoft Office, которое поддерживает настройку ленты, к ленте можно добавить группу управления и кнопку, отображающую или скрывающую настраиваемую область задач.Соответствующее пошаговое руководство см. в разделе Пошаговое руководство. Синхронизация настраиваемой области задач с кнопкой на ленте.
При создании настраиваемой области задач в приложении Microsoft Office, которое не поддерживает настройку ленты, можно добавить элемент CommandBarButton, отображающий или скрывающий настраиваемую область задач.
Изменение внешнего вида области задач
Управлять размером или расположением настраиваемой области задач можно с помощью свойств объекта CustomTaskPane.Кроме этого, можно вносить другие изменения во внешний вид настраиваемой области задач, используя свойства объекта UserControl, содержащиеся в этой области задач.Например, для настраиваемой области задач можно указать фоновый рисунок, используя свойство пользовательского элемента управления BackgroundImage.
В приведенной ниже таблице перечислены изменения, которые можно вносить в область задач с помощью свойств CustomTaskPane.
Задача |
Свойство |
---|---|
Чтобы изменить размер настраиваемой области задач, выполните следующее. |
|
Чтобы изменить расположение настраиваемой области задач, выполните следующее. |
|
Чтобы скрыть или отобразить область задач, выполните следующее. |
|
Чтобы предотвратить изменение расположения области задач, выполните следующее. |
Программирование событий настраиваемой области задач
С помощью соответствующих параметров можно активировать ответ надстройки на изменения в настраиваемой области задач.Например, если пользователь изменяет ориентацию панели из вертикальной на горизонтальную, можно переместить элементы управления.
В следующей таблице перечислены события, обработка которых позволяет активировать ответ на изменения в настраиваемой области задач.
Задача |
Событие |
---|---|
Чтобы активировать ответ на изменения в области задач, выполните следующее. |
|
Чтобы активировать ответ при скрытии или отображении области задач, выполните следующее. |
Очищение ресурсов, используемых областью задач
После создания настраиваемой области задач объект CustomTaskPane сохраняется в памяти на время выполнения надстройки.Объект будет сохраняться в памяти даже при нажатии кнопки (Х) (Закрыть), расположенной в углу области задач.
Для очищения ресурсов, используемых областью задач во время выполнения надстройки, используйте методы Remove или RemoveAt.Эти методы позволяют удалить выбранный объект CustomTaskPane из коллекции CustomTaskPanes и сделать вызов метода Dispose объекта.
Среда выполнения Visual Studio Tools for Office (cреда выполнения) автоматически очищает ресурсы, которые использовались настраиваемой областью задач, при выгрузке надстройки.Не следует вызывать методы Remove или RemoveAt в обработчике события ThisAddIn_Shutdown проекта.Эти методы создают исключение ObjectDisposedException, поскольку среда выполнения Visual Studio Tools for Office (cреда выполнения) очищает ресурсы, использованные объектом CustomTaskPane, до вызова ThisAddIn_Shutdown.Дополнительные сведения о методе ThisAddIn_Shutdown см. в разделе События в проектах Office.
Управление настраиваемыми областями задач в нескольких приложениях Windows
При создании настраиваемой области задач в приложении, в котором для отображения документов и других элементов используются несколько окон, необходимо предпринять дополнительные действия для того, чтобы эта область задач оставалась видимой тогда, когда она может потребоваться пользователю.
Настраиваемые области задач во всех приложениях связаны с окном фрейма документа, в котором отображается документ или элемент.Область задач видна только тогда, когда отображается соответствующее окно.Однако не во всех приложениях окно фрейма документа используется одинаково.
Следующие группы приложений имеют различные требования к разработке:
Outlook
Слово, InfoPath, и PowerPoint
Для просмотра связанных демонстрационных видеороликов перейдите по ссылке How Do I: Manage Task Panes in Word Add-ins?.
Outlook
При создании настраиваемой области задач для Outlook она сопоставляется с определенным окном проводника или инспектора.Проводники — это окна, в которых отображается содержимое папки, инспекторы — это окна, в которых отображается элемент, например сообщение электронной почты или задача.
Чтобы отобразить настраиваемую область задач с несколькими окнами проводника или инспектора, необходимо создать новый экземпляр настраиваемой области задач при открытии окна проводника или инспектора.Для этого обработайте событие, вызываемое при создании окна проводника или инспектора, а затем создайте область задач в обработчике событий.Можно также обработать события проводника или инспектора для скрытия и отображения областей задач в зависимости от отображаемого окна.
Чтобы связать область задач с конкретным обозревателем или инспектором, используйте метод CustomTaskPaneCollection.Add(UserControl, String, Object) для создания области задач и передайте объект Explorer или Inspector в параметр window.Дополнительные сведения о создании настраиваемых областей задач см. в разделе Настраиваемые области задач.
Пошаговое руководство по созданию области задач для каждого открытого сообщения электронной почты см. в разделе Пошаговое руководство. Отображение в Outlook настраиваемых областей задач с сообщениями электронной почты.
События Outlook
Чтобы отслеживать состояние окон обозревателя, можно обрабатывать следующие события, связанные с обозревателем:
Чтобы отслеживать состояние окон проводника, можно обрабатывать следующие события, связанные с инспектором:
Предотвращение появления нескольких экземпляров настраиваемой области задач в Outlook
Чтобы предотвратить отображение нескольких экземпляров настраиваемой области задач в окнах Outlook, явно удалите настраиваемую область задач из коллекции CustomTaskPanes класса ThisAddIn при закрытии каждого окна.Вызовите метод Remove в событии, возникающем при закрытии окна, например ExplorerEvents_10_Event.Close или InspectorEvents_10_Event.Close.
Если не удалить настраиваемую область задач явным образом, в окнах Outlook могут отображаться несколько экземпляров настраиваемой области задач.В Outlook окна иногда запускаются повторно, такие окна сохраняют ссылки на любые назначенные им настраиваемые области задач.
Слово, InfoPath, и PowerPoint
Отображение слова, InfoPath, и PowerPoint каждый документ в другом фреймовом окне документа.При создании настраиваемой области задач для этих приложений она сопоставляется только с определенным документов.Если пользователь открывает другой документ, настраиваемая область задач скрывается до тех пор, пока не будет отображен предыдущий документ.
Чтобы отобразить настраиваемую область задач с несколькими документами, необходимо создать новый экземпляр настраиваемой области задач, когда пользователь создает новый документ или открывает существующий документ.Для этого обработайте события, вызываемые при создании или открытии документа, а затем создайте область задач в обработчиках событий.Можно также обработать события документа для скрытия и отображения областей задач в зависимости от отображаемого документа.
Связать область задач с окном указанного документа использовать метод CustomTaskPaneCollection.Add(UserControl, String, Object) чтобы создать область задач и передать Microsoft.Office.Interop.Word.Window (для слова), Microsoft.Office.Interop.InfoPath.WindowObject (для InfoPath) или Microsoft.Office.Interop.PowerPoint.DocumentWindow (для PowerPoint) с параметром window.
События Word
Чтобы отслеживать состояние окон документа в приложении Word, можно обрабатывать следующие события:
События InfoPath
Чтобы отслеживать состояние окон документа в приложении InfoPath, можно обрабатывать следующие события:
События PowerPoint
Чтобы отслеживать состояние окна документа в PowerPoint, можно обрабатывать следующие события:
См. также
Задачи
Практическое руководство. Добавление настраиваемой панели задач в приложение
Руководство. Автоматизация приложения в настраиваемой области задач
Пошаговое руководство. Синхронизация настраиваемой области задач с кнопкой на ленте