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


RibbonMenu - интерфейс

Представляет меню на вкладке ленты или в меню Microsoft Office.

Пространство имен:  Microsoft.Office.Tools.Ribbon
Сборка:  Microsoft.Office.Tools.Common (в Microsoft.Office.Tools.Common.dll)

Синтаксис

'Декларация
<GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")> _
Public Interface RibbonMenu _
    Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : RibbonControl, 
    RibbonComponent, IComponent, IDisposable

Тип RibbonMenu предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство ControlSize Возврат или установка размера меню.
Открытое свойство Description Возврат или установка текста, отображаемого в текущем меню.
Открытое свойство Dynamic Возврат или установка значения, определяющего возможность изменения меню во время выполнения.
Открытое свойство Enabled Возврат или установка значения, указывающего, включен ли объект RibbonControl. (Унаследовано от RibbonControl.)
Открытое свойство Id Получает уникальную строку, используемую в Microsoft Office для идентификации данного объекта RibbonControl. (Унаследовано от RibbonControl.)
Открытое свойство Image Возврат или установка изображения, отображаемого в меню.
Открытое свойство ImageName Возврат или установка имени, определяющего изображение меню в обработчике событий LoadImage.
Открытое свойство Items Возврат коллекции элементов управления, размещаемых в меню.
Открытое свойство ItemSize Возврат или установка размера элементов управления меню.
Открытое свойство KeyTip Возврат или установка сочетания клавиш для меню.
Открытое свойство Label Возврат или установка текста, отображаемого в меню.
Открытое свойство Name Получает или задает имя данного объекта RibbonComponent. (Унаследовано от RibbonComponent.)
Открытое свойство OfficeImageId Возврат или установка изображения, отображаемого в меню при использовании встроенного значка Microsoft Office.
Открытое свойство Parent Возврат объекта RibbonComponent, который является родительским для этого объекта RibbonComponent. (Унаследовано от RibbonComponent.)
Открытое свойство Position Возврат или установка положения меню в меню Microsoft Office.
Открытое свойство Ribbon Возврат объекта верхнего уровня Ribbon, который содержит иерархию элементов управления. (Унаследовано от RibbonComponent.)
Открытое свойство RibbonUI Инфраструктура. Получает экземпляр IRibbonUI, предоставляемый приложением Microsoft Office коду расширяемости ленты. (Унаследовано от RibbonComponent.)
Открытое свойство ScreenTip Возврат или установка текста подсказки, отображаемой при наведении указателя мыши на меню.
Открытое свойство ShowImage Возврат или установка значения, которое определяет видимость изображения, связанного с меню.
Открытое свойство ShowLabel Возврат или установка значения, определяющего видимость метки меню.
Открытое свойство Site Возвращает или задает объект ISite, связанный с объектом IComponent. (Унаследовано от IComponent.)
Открытое свойство SuperTip Возврат или установка текста многострочной подсказки, отображаемой при наведении указателя мыши на меню.
Открытое свойство Tag Возврат или установка данных приложения, связанных с этим объектом RibbonComponent. (Унаследовано от RibbonComponent.)
Открытое свойство Title Возврат или установка заголовка, который отображается при развертывании меню, добавляемого в меню Microsoft Office.
Открытое свойство Visible Возврат или установка значения, определяющего видимость объекта RibbonControl. (Унаследовано от RibbonControl.)

В начало страницы

Методы

  Имя Описание
Открытый метод Dispose Выполняет определяемые приложением задачи, связанные с высвобождением или сбросом неуправляемых ресурсов. (Унаследовано от IDisposable.)
Открытый метод PerformDynamicLayout Вызов метода Microsoft.Office.Core.IRibbonUI.InvalidateControl родительского элемента управления, если для объекта RibbonComponent существует динамический родительский элемент, например динамическое меню, и размещение не приостановлено. (Унаследовано от RibbonComponent.)
Открытый метод PerformLayout Вызов метода Microsoft.Office.Core.IRibbonUI.InvalidateControl, если для объекта RibbonComponent существует родительский объект, и размещение не приостановлено. (Унаследовано от RibbonComponent.)
Открытый метод ResumeLayout() Отменяет результат вызова метода SuspendLayout. (Унаследовано от RibbonComponent.)
Открытый метод ResumeLayout(Boolean) Отменяет результат вызова метода SuspendLayout. (Унаследовано от RibbonComponent.)
Открытый метод SuspendLayout Запрет на обновление состояния элементов управления ленты в приложении Microsoft Office. (Унаследовано от RibbonComponent.)

В начало страницы

События

  Имя Описание
Открытое событие Disposed Представляет метод, обрабатывающий событие Disposed компонента. (Унаследовано от IComponent.)
Открытое событие ItemsLoading Вызывается при загрузке в меню элементов управления или вложенных меню во время выполнения.

В начало страницы

Заметки

Visual Studio создает объект RibbonMenu при перетаскивании элемента управления Меню из вкладки Элементы управления ленты Office в конструктор ленты Панель инструментов.

Можно создать RibbonMenu во время выполнения, используя метод CreateRibbonMenu объекта RibbonFactory.

Существует два способа доступа к объекту RibbonFactory:

  • С помощью свойства Factory класса ленты.Этот подход следует применять в коде класса ленты.

  • С помощью метода Globals.Factory.GetRibbonFactory.Этот подход следует применять за пределами класса ленты.

Общие задачи

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

Задача

Элемент

Отображение изображения в меню.

Используйте свойство Image или ImageName.

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

Изменение размера меню.

Присвойте свойству ControlSize соответствующее значение.Например, для создания крупного меню установите значение Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Изменение размера элементов меню.

Присвойте свойству ItemSize соответствующее значение.Например, для отображения крупных элементов установите значение Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Включение возможности изменения меню (например добавления элементов управления в меню) во время выполнения.

Задайте для свойства Dynamic значение true.

Обращение к элементам управления меню, их добавление или удаление.

Используйте свойство Items.

Добавление меню в меню Microsoft Office, группу или другой элемент управления, поддерживающий меню.

Добавьте RibbonMenu в свойство Items меню Microsoft Office, группы или элемента управления.

ПримечаниеПримечание

Данный интерфейс реализован набором средств Visual Studio Tools for Office (среда выполнения). Он не предназначен для реализации в пользовательском коде. Дополнительные сведения см. в разделе Общие сведения об инструментах Visual Studio для среды выполнения Office.

Использование

В настоящей документации описывается версия этого типа, которая используется в проектах Office, предназначенных для платформ .NET Framework 4 и .NET Framework 4.5. В проектах, предназначенных для платформы .NET Framework 3.5, этот тип может содержать другие члены, а примеры кода, приведенные для этого типа, могут не работать. Документацию о данном типе в проектах, предназначенных для платформы .NET Framework 3.5, см. в следующем справочном разделе документации Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Примеры

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

Более подробный пример обновления элементов управления во время выполнения и извлечения сведений из демонстрационной базы данных AdventureWorks с использованием LINQ (Language-Integrated Query — запросы, интегрированные в язык программирования) см. в разделе Пошаговое руководство. Обновление элементов управления на ленте во время выполнения.

Перед выполнением этого примера выполните следующие действия:

  1. Добавьте элемент Лента (визуальный конструктор) в проект Office.

  2. Добавьте группу на пользовательскую вкладку.

  3. Добавьте меню в группу.

  4. Установите для свойства (Name) меню значение CustomerMenu.

  5. Установите для свойства Label меню значение Customers.

  6. Установите для свойства Dynamic меню значение true.

    Это дает возможность добавлять и удалять элементы управления в меню во время выполнения после загрузки ленты в приложение Office.

Private Sub PopulateCustomerMenu()
    ' Add two sub-menus to EmployeeMenu and populate each sub-menu
    ' First sub-menu
    Dim subMenu1 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
    CustomerMenu.Items.Add(subMenu2)

End Sub
private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = this.Factory.CreateRibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = this.Factory.CreateRibbonMenu();
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

См. также

Ссылки

Microsoft.Office.Tools.Ribbon - пространство имен

Другие ресурсы

Обзор ленты

Конструктор лент

Общие сведения об объектной модели ленты

Практическое руководство. Работа с настройкой ленты