Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Области задач — это панели пользовательского интерфейса, которые обычно закреплены на одной стороне окна в приложении Microsoft Office. Пользовательские области задач позволяют создавать собственную область задач и предоставлять пользователям знакомый интерфейс для доступа к функциям решения. Например, интерфейс может содержать элементы управления, которые выполняют код для изменения документов или отображения данных из источника данных.
Применимо к: Сведения в этом разделе относятся к проектам надстроек VSTO для Outlook. Дополнительные сведения см. в разделе "Функции", доступные по типу приложения и проекта Office.
Замечание
Настраиваемая область задач отличается от области действий. Область действий входит в состав настроек на уровне документа для Microsoft Office Word и Microsoft Office Excel. Дополнительные сведения см. в обзоре области действий.
Преимущества пользовательских областей задач
Пользовательские области задач позволяют интегрировать функции в знакомый пользовательский интерфейс. Вы можете быстро создать настраиваемую область задач с помощью средств Visual Studio.
Знакомый пользовательский интерфейс
Пользователи приложений в системе Microsoft Office уже знакомы с помощью областей задач, таких как область задач "Стили" и "Форматирование " в Word. Пользовательские области задач работают так же, как и другие области задач в системе Microsoft Office. Пользователи могут закреплять пользовательские области задач в разных сторонах окна приложения или перетаскивать настраиваемые области задач в любое расположение в окне. Вы можете создать надстройку VSTO, которая отображает несколько настраиваемых областей задач одновременно, и пользователи могут управлять каждой областью задач по отдельности.
Поддержка Windows Forms
Пользовательский интерфейс настраиваемой области задач, созданной с помощью средств разработки Office в Visual Studio, основан на элементах управления Windows Forms. Вы можете использовать знакомый конструктор Windows Forms для разработки пользовательского интерфейса для настраиваемой области задач. Вы также можете использовать поддержку привязки данных в Windows Forms для привязки источника данных к элементам управления в области задач.
Создание настраиваемой области задач
Вы можете создать базовую настраиваемую область задач на двух шагах:
Создайте пользовательский интерфейс для пользовательской области задач, добавив элементы управления Windows Forms в UserControl объект.
Создайте экземпляр настраиваемой области задач, передав пользовательский контрол объекту CustomTaskPaneCollection в надстройке VSTO. Эта коллекция возвращает новый CustomTaskPane объект, который можно использовать для изменения внешнего вида области задач и реагирования на события пользователя.
Дополнительные сведения см. в статье "Практическое руководство. Добавление настраиваемой области задач в приложение".
Создание пользовательского интерфейса
Все настраиваемые области задач, созданные с помощью средств разработки Office в Visual Studio, содержат UserControl объект. Этот пользовательский элемент управления предоставляет пользовательский интерфейс настраиваемой области задач. Вы можете создать пользовательский элемент управления во время разработки или во время выполнения. При создании пользовательского элемента управления во время разработки можно использовать конструктор Windows Forms для создания пользовательского интерфейса области задач.
Инициализация настраиваемой области задач
После создания пользовательского элемента управления, содержащего пользовательский интерфейс настраиваемой области задач, необходимо создать экземпляр CustomTaskPane. Для этого передайте пользовательский элемент управления CustomTaskPaneCollection в надстройку VSTO, вызвав один из методов Add. Эта коллекция предоставляется в качестве CustomTaskPanes поля ThisAddIn класса. Следующий пример кода предназначен для запуска из ThisAddIn класса.
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;
Методы Add возвращают новый CustomTaskPane объект. Этот объект можно использовать для изменения внешнего вида области задач и реагирования на события пользователя.
Управление областью задач в нескольких окнах
Пользовательские панели задач связаны с документным окном, которое представляет вид документа или элемента пользователю. Область задач отображается только в том случае, если связанное окно отображается.
Чтобы определить, какое окно отображает настраиваемую область задач, используйте соответствующую перегрузку метода Add при создании этой области задач.
Чтобы связать область задач с активным окном Add , используйте этот метод.
Чтобы связать область задач с документом, размещенным в указанном окне, используйте Add этот метод.
Для некоторых приложений Office требуются явные инструкции по созданию или отображению области задач при открытии нескольких окон. Важно учитывать, где инициализировать область задач в коде, чтобы убедиться, что она отображается вместе с соответствующими документами или элементами в приложении. Дополнительные сведения см. в разделе "Управление настраиваемыми областями задач" в окнах приложений.
Доступ к приложению из области задач
Если вы хотите автоматизировать приложение из пользовательского элемента управления, вы можете напрямую получить доступ к объектной модели, используя Globals.ThisAddIn.Application в вашем коде. Статический Globals класс предоставляет доступ к объекту ThisAddIn .
Application Поле этого объекта является точкой входа в объектную модель приложения.
Дополнительные сведения о Application поле ThisAddIn объекта см. в разделе "Программы надстроек VSTO". Пошаговое руководство, демонстрирующее, как автоматизировать приложение из пользовательской области задач, см. в разделе "Пошаговое руководство: автоматизация приложения из настраиваемой области задач". Дополнительные сведения о классе см. в статье Globals доступ к объектам в проектах Office".
Управление пользовательским интерфейсом области задач
После создания области задач можно использовать свойства и события CustomTaskPane объекта для управления пользовательским интерфейсом области задач и реагирования при изменении области задач пользователем.
Сделать настраиваемую область задач видимой
По умолчанию область задач не отображается. Чтобы сделать область задач видимой, необходимо задать для свойства Visible значение true.
Пользователи могут закрыть область задач в любое время, нажав кнопку "Закрыть " (X) в углу области задач. Однако для пользователей нет способа снова открыть настраиваемую область задач. Если пользователь закрывает настраиваемую область задач, то он не сможет снова открыть её, если только вы не предоставите ему способ её отображения.
Если вы создаете настраиваемую область задач в надстройке VSTO, необходимо также создать элемент пользовательского интерфейса, например кнопку, которую пользователи могут щелкнуть, чтобы отобразить или скрыть настраиваемую область задач. Если вы создаете настраиваемую область задач в приложении Microsoft Office, поддерживающем настройку ленты, вы можете добавить группу элементов управления на ленту с кнопкой, которая отображает или скрывает настраиваемую область задач. Пошаговое руководство, демонстрирующее, как это сделать, см. в пошаговом руководстве. Синхронизация настраиваемой области задач с кнопкой ленты.
Если вы создаете настраиваемую область задач в приложении Microsoft Office, которое не поддерживает настройку ленты, можно добавить CommandBarButton, который отображает или скрывает вашу настраиваемую область задач.
Изменение внешнего вида области задач
Вы можете управлять размером и расположением настраиваемой области задач с помощью свойств CustomTaskPane объекта. Вы можете внести много других изменений в внешний вид настраиваемой области задач с помощью свойств UserControl объекта, содержащегося в настраиваемой области задач. Например, можно указать фоновое изображение для настраиваемой области задач с помощью BackgroundImage свойства пользовательского элемента управления.
В следующей таблице перечислены изменения, которые можно внести в настраиваемую область задач с помощью CustomTaskPane свойств.
| Задача | Недвижимость |
|---|---|
| Изменение размера области задач | Height Width |
| Изменение расположения области задач | DockPosition |
| Скрыть область задач или сделать её видимой | Visible |
| Чтобы запретить пользователю изменять расположение области задач | DockPositionRestrict |
Программирование событий настраиваемой области задач
Возможно, вы захотите, чтобы надстройка VSTO реагировала, когда пользователь изменяет настраиваемую панель задач. Например, если пользователь изменяет ориентацию панели с вертикальной на горизонтальную, может потребоваться изменить положение элементов управления.
В следующей таблице перечислены события, которые можно обрабатывать для реагирования на изменения, внесенные пользователем в настраиваемую область задач.
| Задача | Event |
|---|---|
| Чтобы ответить, когда пользователь изменяет расположение области задач. | DockPositionChanged |
| Чтобы ответить, когда пользователь скрывает область задач или делает его видимым. | VisibleChanged |
Очистка ресурсов, используемых областью задач
После создания настраиваемой области задач объект будет оставаться в памяти, пока выполняется надстройка VSTO. Объект остается в памяти даже после нажатия кнопки "Закрыть " (X) в углу области задач.
Чтобы очистить ресурсы, используемые областью задач, пока надстройка VSTO всё ещё работает, используйте методы Remove или RemoveAt. Эти методы удаляют указанный CustomTaskPane объект из CustomTaskPanes коллекции и вызывают Dispose метод объекта.
Среда выполнения Visual Studio Tools для Office автоматически очищает ресурсы, используемые настраиваемой областью задач при выгрузке надстройки VSTO. Не вызывайте Remove или RemoveAt в обработчике события ThisAddIn_Shutdown в проекте. Эти методы выбрасывают ObjectDisposedException, поскольку среда выполнения Visual Studio Tools для Office очищает ресурсы, используемые объектом CustomTaskPane перед вызовом ThisAddIn_Shutdown. Дополнительные сведения смотрите в разделе «События в проектах Office».
Управление настраиваемыми областями задач в нескольких окнах приложений
При создании настраиваемой области задач в приложении, использующего несколько окон для отображения документов и других элементов, необходимо выполнить дополнительные действия, чтобы убедиться, что область задач отображается, когда пользователь ожидает, что он будет.
Пользовательские панели задач во всех приложениях связаны с окном фрейма документа, которое представляет вид документа или элемента пользователю. Область задач отображается только в том случае, если связанное окно отображается. Однако не все приложения используют окна кадров документов одинаково.
Следующие группы приложений имеют разные требования к разработке:
Перспектива
При создании настраиваемой области задач для Outlook настраиваемая область задач связана с определенным окном обозревателя или инспектора. Проводники — это окна, отображающие содержимое папки, а инспекторы — это окна, отображающие элемент, например сообщение электронной почты или задачу.
Если вы хотите отобразить настраиваемую область задач с несколькими окнами обозревателя или инспектора, необходимо создать новый экземпляр настраиваемой области задач при открытии окна обозревателя или инспектора. Для этого обработайте событие, возникающее при создании окна обозревателя или инспектора, а затем создайте область задач в обработчике событий. Вы также можете обрабатывать события обозревателя и инспектора, чтобы скрыть или отобразить области задач в зависимости от того, какое окно отображается.
Чтобы связать область задач с определенным обозревателем или инспектором, используйте Add метод для создания области задач и передайте ExplorerInspector объект в параметр окна . Дополнительные сведения о создании настраиваемых областей задач см. в обзоре настраиваемых областей задач.
-
Чтобы отслеживать статус окон инспектора, можно обрабатывать следующие события, связанные с инспектором:
Предотвращение появления нескольких экземпляров пользовательской панели задач в Outlook
Чтобы предотвратить отображение нескольких экземпляров настраиваемой области задач в Окнах Outlook, явно удалите настраиваемую область задач из CustomTaskPanes коллекции ThisAddIn класса при закрытии каждого окна. Вызовите метод Remove в событии, возникающем при закрытии окна, например Close или Close.
Если пользовательская область задач не удаляется явным образом, окна Outlook могут отображать несколько экземпляров настраиваемой области задач. Outlook иногда повторно использует окна, и повторно используемые окна сохраняют ссылки на любые настраиваемые области задач, прикрепленные к ним.
Word, InfoPath и PowerPoint
Word, InfoPath и PowerPoint отображают каждый документ в другом окне фрейма документа. При создании настраиваемой области задач для этих приложений настраиваемая область задач связана только с определенным документом. Если пользователь открывает другой документ, настраиваемая область задач скрыта до тех пор, пока предыдущий документ не будет виден снова.
Если вы хотите отобразить настраиваемую область задач с несколькими документами, создайте новый экземпляр настраиваемой области задач при создании нового документа или открытии существующего документа. Для этого обработайте события, возникающие при создании или открытии документа, а затем создайте область задач в обработчиках событий. Вы также можете обрабатывать события документа, чтобы скрыть или отобразить области задач в зависимости от того, какой документ отображается.
Чтобы связать область задач с определённым окном документа, используйте метод Add для создания области задач и передайте Window (для Word), WindowObject (для InfoPath) или DocumentWindow (для PowerPoint) параметру window.
События Microsoft Word
Чтобы отслеживать состояние окон документов в Word, можно обрабатывать следующие события:
События InfoPath
Чтобы отслеживать состояние окон документов в InfoPath, можно обрабатывать следующие события:
События PowerPoint
Чтобы отслеживать состояние окон документов в PowerPoint, можно обрабатывать следующие события:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate
Связанный контент
- Практическое руководство. Добавление настраиваемой области задач в приложение
- Пошаговое руководство. Автоматизация приложения из пользовательской области задач
- Пошаговое руководство: Синхронизация пользовательской панели задач с кнопкой Ленты
- Пошаговое руководство. Отображение настраиваемых областей задач с сообщениями электронной почты в Outlook