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


CommandSet - класс

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

Этот интерфейс API CLS-несовместим. 

Иерархия наследования

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
      Microsoft.VisualStudio.Modeling.Shell.CommandSet

Пространство имен:  Microsoft.VisualStudio.Modeling.Shell
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (в Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Синтаксис

'Декларация
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

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

Конструкторы

  Имя Описание
Защищенный метод CommandSet Инициализирует новый экземпляр класса CommandSet.

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

Свойства

  Имя Описание
Защищенное свойство CurrentDocData (Унаследовано от CommandSetLibrary.)
Защищенное свойство CurrentDocumentSelection (Унаследовано от CommandSetLibrary.)
Защищенное свойство CurrentDocView Получает представление для активного окна документа.
Защищенное свойство CurrentModelingDocView (Унаследовано от CommandSetLibrary.)
Защищенное свойство CurrentSelection (Унаследовано от CommandSetLibrary.)
Защищенное свойство MenuService (Унаследовано от CommandSetLibrary.)
Защищенное свойство MonitorSelection (Унаследовано от CommandSetLibrary.)
Защищенное свойство ServiceProvider (Унаследовано от CommandSetLibrary.)
Защищенное свойство SingleDocumentSelection (Унаследовано от CommandSetLibrary.)
Защищенное свойство SingleSelection (Унаследовано от CommandSetLibrary.)

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

Методы

  Имя Описание
Защищенный метод CanDeleteSelectedItems Возвращает значение true, если выделенные элементы могут быть удалены. (Унаследовано от CommandSetLibrary.)
Открытый метод CreateObjRef Критический с точки зрения безопасности. Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject.)
Защищенный метод DeleteSelectedItems Удаление выбранных элементов. (Унаследовано от CommandSetLibrary.)
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetHashCode Служит хэш-функцией по умолчанию. (Унаследовано от Object.)
Открытый метод GetLifetimeService Критический с точки зрения безопасности. Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)
Защищенный метод GetMenuCommands Отображает команды в контекстном меню. (Переопределяет CommandSetLibrary.GetMenuCommands().)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод Initialize Инициализирует набор команд.Вызывает GetMenuCommands и кэширует результатов. (Унаследовано от CommandSetLibrary.)
Открытый метод InitializeLifetimeService Критический с точки зрения безопасности. Возвращает объект обслуживания во время существования для управления политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject.)
Защищенный метод IsAnyDocumentSelectionCompartment Значение true, если какой-либо из элементов в списке выбора является секцией. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsAnyDocumentSelectionMoveableHostShape Значение true, если какой-либо из элементов в списке выбора является перемещаемой основной фигурой, которая не может быть удалена. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsAnyDocumentSelectionUndeletable Значение true, если в списке выбора если элементы фигур, которые не могут быть удалены. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsCurrentDiagramEmpty Значение true, если схема не имеет дочерних элементов. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsDiagramSelected Значение true, если схема выбрана. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsExpandableShape Проверяет, может ли пользователь развернуть фигуру, чтобы отобразить свойства домена.
Защищенный метод IsSingleDocumentSelection Значение true, если имеется только один выбранный элемент в активном документе. (Унаследовано от CommandSetLibrary.)
Защищенный метод IsSingleSelection Значение true, если имеется только один выбранный элемент в активном окне документа или окне инструментов. (Унаследовано от CommandSetLibrary.)
Защищенный метод MemberwiseClone() Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод MemberwiseClone(Boolean) Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject.)
Защищенный метод ProcessOnMenuDeleteCommand Вызывается, когда пользователь выбирает команду Удалить или нажимает клавишу Delete.Удаляет элемент.Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuEditCompartmentItemCommand Вызывается, когда пользователь выбирает команду меню Изменить для элемента в фигуре секции.Вставляет состояние редактирования текста.Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuExpandCollapseCommand Вызывается, когда пользователь разворачивает или сворачивает список свойств, присвоенных фигуре.
Защищенный метод ProcessOnMenuPageSetupCommand Открывает диалоговое окно "Параметры страницы".Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuPrintCommand Открывает диалоговое окно "Печать".Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuPrintPreviewCommand Открывает окно предварительного просмотра печати.Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuRerouteLineCommand Восстанавливает позицию по умолчанию соединителя между двумя фигурами.Для изменения этого поведения переопределите данный метод.
Защищенный метод ProcessOnMenuResetDecoratorLocationCommand Переопределите этот метод для обработки команды меню сброса расположения декоратора.
Защищенный метод ProcessOnMenuResetDecoratorSizeCommand Переопределите этот метод для обработки команды меню сброса размера декоратора.
Защищенный метод ProcessOnMenuSelectAllCommand Вызывается, когда пользователь выбирает команду Выбрать все в меню Правка или нажмите клавишу ctrl-А.Выбирает все фигуры на схеме.Для изменения этого поведения переопределите метод.
Защищенный метод ProcessOnStatusDeleteCommand Определяет, отображается ли команда Удалить в контекстное меню.Вызывается, если щелкнуть в области схемы правой кнопкой мыши.
Защищенный метод ProcessOnStatusEditCompartmentItemCommand Определяет, отображается ли команда Изменить в контекстное меню.
Защищенный метод ProcessOnStatusExpandCollapseCommand Определяет, отображается ли команда Развернуть или Свернуть в контекстное меню.Вызывается, если щелкнуть в области схемы правой кнопкой мыши.
Защищенный метод ProcessOnStatusPageSetupCommand Определяет, отображается ли команда Параметры страницы в меню Файл.Вызывается, когда пользователь нажимает меню Файл, пока схема активна.
Защищенный метод ProcessOnStatusPrintCommand Определяет, отображается ли команда Печать в меню Файл.Вызывается, когда пользователь нажимает меню Файл, пока схема активна.
Защищенный метод ProcessOnStatusPrintPreviewCommand Определяет, отображается ли команда Предварительный просмотр в меню.Вызывается, когда пользователь нажимает меню Файл, пока схема активна.
Защищенный метод ProcessOnStatusRerouteLineCommand Определяет, отображается ли команда Спрямление в контекстное меню.Вызывается, если щелкнуть в области схемы правой кнопкой мыши.
Защищенный метод ProcessOnStatusResetDecoratorLocationCommand Определяет, отображается ли команда Rest Decorator Location в контекстное меню.Вызывается, если щелкнуть в области схемы правой кнопкой мыши.
Защищенный метод ProcessOnStatusResetDecoratorSizeCommand Определяет, отображается ли команда Reset Decorator Size в контекстное меню.Вызывается, если щелкнуть в области схемы правой кнопкой мыши.
Защищенный метод ProcessOnStatusSelectAllCommand Определяет, отображается ли команда Выбрать все в меню.Вызывается, когда пользователь нажимает меню Правка, пока схема активна.
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

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

Заметки

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

В проекте DslPackage содержатся в созданный файл CommandSet.cs, содержащие частично объявление вызванного класса < >commandset YourLanguageName. Чтобы изменить расширение функциональности стандартных команд меню, добавьте другой файл с частично определением того же класса.

В этом классе можно переопределить методы, определенные в базовом классе.

Примечание

Убедитесь, что пространство имен в новом файле такое же, как пространство имен в созданном CommandSet.cs.В новом файле, при вводе «переопределение» в объявление класса необходимо вывести список методов, которые можно переопределить.

Каждая команда имеет метод ProcessOnStatus… и метод ProcessOnMenu…. Метод ProcessOnStatus… указывает, отображается ли команда в правой кнопкой меню. Задайте видимое свойство параметров команды, чтобы определить, является ли команда видима и задать допустимое свойство, чтобы определить, включен пункт меню или greyed работу.

Метод ProcessOnMenu… выполняет команду, когда пользователь щелкает пункт меню.

Примечание

Можно определить дополнительные команды в файле Commands.vsct.

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

Примеры

Этот файл добавляется в проект DslPackage. Он запрещает пользователям доменного языка удалять несколько элементов одновременно.

// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
  internal partial class Language1CommandSet // Same class as the generated class.
  {
    /// <summary>
    /// Called when user right-clicks on the diagram or clicks the Edit menu.
    /// </summary>
    /// <param name="command"></param>
    protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
    {
      if (this.CurrentSelection.Count > 1)
      {
        // If user has selected more than one item, Delete is greyed out.
        command.Enabled = false;
      }
      else
      {
        // Otherwise, default behavior.
        base.ProcessOnStatusDeleteCommand(command);
      }
    }
    /// <summary>
    /// Called when user presses Delete key or clicks the Delete command on a menu.
    /// </summary>
    protected override void ProcessOnMenuDeleteCommand()
    {
      // Allow users to delete only one thing at a time.
      if (this.CurrentSelection.Count <= 1)
      {
        base.ProcessOnMenuDeleteCommand();
      }
    }
  }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.Shell - пространство имен

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

Практическое руководство. Добавление команды в контекстное меню