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


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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

На этом шаге вы создадите проект надстройки VSTO для Excel.

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

  1. Создайте проект надстройки Excel с именем SynchronizeTaskPaneAndRibbonс помощью шаблона проекта надстройки Excel. Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

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

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

Один из принципов проектирования приложений Office состоит в том, что пользователь всегда должен иметь возможность распоряжаться пользовательским интерфейсом приложения 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 со вкладки Стандартные элементы управленияна панели элементов в пользовательский элемент управления.

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

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

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

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

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

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

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

    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 void taskPaneValue_VisibleChanged(object sender, System.EventArgs e)
    {
        Globals.Ribbons.ManageTaskPaneRibbon.toggleButton1.Checked = 
            taskPaneValue.Visible;
    }
    
  6. Добавьте в класс ThisAddIn указанное ниже свойство. Оно предоставляет доступ к закрытому объекту taskPaneValue другим классам. Позднее в этом руководстве мы добавим код к классу MyRibbon , который использует это свойство.

    public Microsoft.Office.Tools.CustomTaskPane TaskPane
    {
        get
        {
            return taskPaneValue;
        }
    }
    

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

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

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

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

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

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

    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisAddIn.TaskPane.Visible = ((RibbonToggleButton)sender).Checked;
    }
    

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

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

Для тестирования надстройки VSTO выполните следующие действия.

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

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

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

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

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

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

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

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

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