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


Пошаговое руководство. Синхронизация настраиваемой области задач с кнопкой на ленте

Обновлен: Ноябрь 2007

Применение

Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office.

Тип проекта

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

Приложение Microsoft Office

  • Excel 2007

  • Outlook 2007

  • PowerPoint 2007

  • Word 2007

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

Это пошаговое руководство демонстрирует, как создать настраиваемую область задач, которую пользователь может скрывать и отображать, щелкая выключатель на ленте. Рекомендуется всегда создавать элемент управления с пользовательским интерфейсом, например кнопку, чтобы пользователи могли его нажать для отображения или скрытия настраиваемой области задач. Это необходимо, так как приложения Microsoft Office не имеют встроенных средств для отображения и скрытия настраиваемой области задач.

Несмотря на то, что данное руководство ориентировано на Excel, рассматриваемый подход применим ко всем перечисленным выше приложениям.

В данном пошаговом руководстве представлены следующие задачи.

  • Проектирование пользовательского интерфейса настраиваемой области задач.

  • Добавление выключателя на ленту.

  • Синхронизация выключателя с настраиваемой областью задач.

Bb608590.alert_note(ru-ru,VS.90).gifПримечание.

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

Обязательные компоненты

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

  • Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System).

  • Microsoft Office Excel 2007.

Visual Studio Tools for Office устанавливается по умолчанию с перечисленными версиями Visual Studio. Чтобы проверить, установлен ли данный набор средств, см. раздел Установка средств Visual Studio для Office.

Создание проекта надстройки

На этом шаге будет создан проект надстройки Excel.

Создание нового проекта

  • Создайте проект надстройки Excel с именем SynchronizeTaskPaneAndRibbon, используя шаблон проекта надстройки Excel для выпуска 2007 системы Microsoft Office. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.

    Visual Studio откроет файл с исходным кодом ThisAddIn.cs или ThisAddIn.vb и добавит проект SynchronizeTaskPaneAndRibbon в Обозреватель решений.

Добавление выключателя на ленту

Один из принципов проектирования приложения Office состоит в том, что в распоряжении пользователя всегда должен быть элемент управления пользовательским интерфейсом этого приложения. Чтобы позволить пользователю управлять настраиваемой областью задач, можно добавить на ленту выключатель, который будет отображать и скрывать область задач. Чтобы создать выключатель, добавьте в проект элемент Лента (визуальный конструктор). Конструктор помогает добавлять, размещать, устанавливать свойства и организовывать обработку событий элементов управления. Дополнительные сведения см. в разделе Конструктор лент.

Добавление выключателя на ленту

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

  2. В диалоговом окне Добавление нового элемента выберите Лента (визуальный конструктор).

  3. Измените имя новой ленты на ManageTaskPaneRibbon и нажмите кнопку Добавить.

    В конструкторе лент откроется файл ManageTaskPaneRibbon.cs или ManageTaskPaneRibbon.vb и отобразятся вкладка по умолчанию и группа.

  4. В конструкторе лент щелкните группу group1.

  5. В окне Свойства присвойте свойству Label значение Диспетчер области задач.

  6. Перетащите элемент управления ToggleButton с вкладки Элементы управления ленты OfficeПанели элементов в группу Диспетчер области задач.

  7. Щелкните выключатель toggleButton1.

  8. В окне Свойства присвойте свойству Label значение Показать область задач.

Проектирование пользовательского интерфейса настраиваемой области задач

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

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

  1. В меню Проект выберите команду Добавить пользовательский элемент управления.

  2. В диалоговом окне Добавить новый элемент измените имя пользовательского элемента управления на TaskPaneControl и нажмите кнопку Добавить.

    В конструкторе откроется указанный пользовательский элемент управления.

  3. Перетащите со вкладки Общие элементы управленияПанели элементов элемент управления TextBox на пользовательский элемент управления.

Создание настраиваемой области задач

Для создания настраиваемой области задач при запуске надстройки добавьте пользовательский элемент управления к области задач в обработчике событий Startup надстройки. По умолчанию настраиваемая область задач не будет видима. Позднее в этом руководстве мы добавим код, который будет отображать и скрывать область задач при нажатии пользователем выключателя, добавленного на ленту.

Создание настраиваемой области задач

  1. В Обозревателе решений разверните узел Excel.

  2. Щелкните правой кнопкой мыши файл ThisAddIn.cs или ThisAddIn.vb и выберите в меню пункт Просмотреть код.

  3. Добавьте в класс ThisAddIn следующий код. Этот код объявляет экземпляр класса TaskPaneControl членом класса ThisAddIn.

    Private taskPaneControl1 As TaskPaneControl
    Private WithEvents taskPaneValue As Microsoft.Office.Tools.CustomTaskPane
    
    private TaskPaneControl taskPaneControl1;
    private Microsoft.Office.Tools.CustomTaskPane taskPaneValue;
    
  4. Замените обработчик событий ThisAddIn_Startup следующим кодом. Этот код добавляет объект класса TaskPaneControl к полю CustomTaskPanes, но он не отображает настраиваемую область задач (по умолчанию свойство Visible класса CustomTaskPane имеет значение false). Кроме того, код Visual C# присоединяет обработчик событий к событию VisibleChanged.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        taskPaneControl1 = New TaskPaneControl()
        taskPaneValue = Me.CustomTaskPanes.Add( _
            taskPaneControl1, "MyCustomTaskPane")
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        taskPaneControl1 = new TaskPaneControl();
        taskPaneValue = this.CustomTaskPanes.Add(
            taskPaneControl1, "MyCustomTaskPane");
        taskPaneValue.VisibleChanged +=
            new EventHandler(taskPaneValue_VisibleChanged);
    }
    
  5. Добавьте следующий метод в класс ThisAddIn. Этот метод обрабатывает событие VisibleChanged. Когда пользователь нажимает кнопку Закрыть (X), чтобы закрыть область задач, этот метод обновляет состояние выключателя на ленте.

    Private Sub taskPaneValue_VisibleChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles taskPaneValue.VisibleChanged
    
        Globals.Ribbons.ManageTaskPaneRibbon.ToggleButton1.Checked = taskPaneValue.Visible
    End Sub
    
    private void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
    {
        Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = 
            taskPaneValue.Visible;
    }
    
  6. Добавьте в класс ThisAddIn следующее свойство. Оно предоставит доступ к закрытому полю myCustomTaskPane1 другим классам. Позднее в этом руководстве мы добавим код к классу MyRibbon, который использует это свойство.

    Public ReadOnly Property TaskPane() As Microsoft.Office.Tools.CustomTaskPane
        Get
            Return taskPaneValue
        End Get
    End Property
    
    public Microsoft.Office.Tools.CustomTaskPane TaskPane
    {
        get
        {
            return taskPaneValue;
        }
    }
    

Скрытие и отображение настраиваемой панели задач с помощью выключателя

Заключительный шаг — добавить код, который будет отображать или скрывать панель задач, когда пользователь щелкает выключатель на ленте.

Отображение или скрытие настраиваемой области задач с помощью выключателя

  1. В конструкторе лент дважды щелкните выключатель Показать область задач.

    Visual Studio Tools for Office автоматически создаст обработчик событий с именем toggleButton1_Click, который будет обрабатывать событие Click выключателя. Visual Studio Tools for Office также откроет файл MyRibbon.cs или MyRibbon.vb в редакторе кода.

  2. Замените обработчик событий toggleButton1_Click следующим кодом. Когда пользователь щелкает выключатель, этот код показывает или скрывает настраиваемую область задач, в зависимости от того, нажат ли выключатель.

    Private Sub ToggleButton1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click
    
        Globals.ThisAddIn.TaskPane.Visible = _
            TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked
    End Sub
    
    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
    }
    

Проверка надстройки

При запуске этого проекта откроется Excel; настраиваемая область задач не будет отображена. Чтобы проверить код, щелкните выключатель на ленте.

Проверка надстройки

  1. Нажмите клавишу F5 для запуска проекта.

    Убедитесь, что Excel открылся и на ленте появилась вкладка Надстройки.

  2. Перейдите на вкладку Надстройки на ленте.

  3. В группе Диспетчер области задач щелкните выключатель Показать область задач.

    Убедитесь, что область задач попеременно отображается и скрывается при нажатии выключателя.

  4. Когда область задач будет видима, нажмите кнопку Закрыть (X), которая находится в углу области задач.

    Убедитесь, что выключатель не нажат.

Следующие действия

Дополнительные сведения о создании настраиваемых областей задач см. в следующих разделах.

См. также

Задачи

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

Руководство. Автоматизация приложения в настраиваемой области задач

Пошаговое руководство. Отображение в Outlook настраиваемых областей задач с сообщениями электронной почты

Практическое руководство. Отображение настраиваемых областей задач с сообщениями электронной почты в Outlook

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

Общие сведения о настраиваемых областях задач

Управление настраиваемыми областями задач в нескольких окнах приложений

Обзор ленты