IMenuCommandService Интерфейс

Определение

Предоставляет методы для управления общими командами конструктора и командами меню, доступными в режиме конструктора, а также методы для отображения некоторых типов контекстных меню.

public interface class IMenuCommandService
public interface IMenuCommandService
[System.Runtime.InteropServices.ComVisible(true)]
public interface IMenuCommandService
type IMenuCommandService = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IMenuCommandService = interface
Public Interface IMenuCommandService
Производный
Атрибуты

Примеры

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

   public ref class CDesigner: public ComponentDesigner
   {
   public:
    [PermissionSetAttribute(SecurityAction::Demand, Name="FullTrust")]
      virtual void Initialize( IComponent^ comp ) override
      {
         ComponentDesigner::Initialize( comp );
         IMenuCommandService^ mcs = static_cast<IMenuCommandService^>(comp->Site->GetService( IMenuCommandService::typeid ));
         MenuCommand^ mc = gcnew MenuCommand( gcnew EventHandler( this, &CDesigner::OnF1Help ),StandardCommands::F1Help );
         mc->Enabled = true;
         mc->Visible = true;
         mc->Supported = true;
         mcs->AddCommand( mc );
         System::Windows::Forms::MessageBox::Show( "Initialize() has been invoked." );
      }

   private:
      void OnF1Help( Object^ /*sender*/, EventArgs^ /*e*/ )
      {
         System::Windows::Forms::MessageBox::Show( "F1Help has been invoked." );
      }
   };
}
public class CDesigner : System.ComponentModel.Design.ComponentDesigner 
{
    public override void Initialize(IComponent comp) 
    {
        base.Initialize(comp);

        IMenuCommandService mcs = (IMenuCommandService)comp.Site.
                    GetService(typeof(IMenuCommandService));
        MenuCommand mc = new MenuCommand(new EventHandler(OnF1Help), StandardCommands.F1Help);
        mc.Enabled = true;
        mc.Visible = true;
        mc.Supported = true;
        mcs.AddCommand(mc);
        System.Windows.Forms.MessageBox.Show("Initialize() has been invoked.");
    }

    private void OnF1Help(object sender, EventArgs e) 
    {
        System.Windows.Forms.MessageBox.Show("F1Help has been invoked.");
    }
}
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Public Class CDesigner
    Inherits System.ComponentModel.Design.ComponentDesigner

    Public Overrides Sub Initialize(ByVal comp As IComponent)
        MyBase.Initialize(comp)

        Dim mcs As IMenuCommandService = CType(comp.Site.GetService(GetType(IMenuCommandService)), IMenuCommandService)
        Dim mc As New MenuCommand(New EventHandler(AddressOf OnF1Help), StandardCommands.F1Help)
        mc.Enabled = True
        mc.Visible = True
        mc.Supported = True
        mcs.AddCommand(mc)
        System.Windows.Forms.MessageBox.Show("Initialize() has been invoked.")
    End Sub

    Private Sub OnF1Help(ByVal sender As Object, ByVal e As EventArgs)
        System.Windows.Forms.MessageBox.Show("F1Help has been invoked.")
    End Sub
End Class

Комментарии

Этот интерфейс предоставляет методы для:

  • Поиск, вызов, добавление и удаление команд глобальных команд конструктора.

  • Поиск, вызов, добавление и удаление стандартных команд меню.

  • Измените обработчики событий, связанные со стандартными командами меню.

  • Отображение контекстного меню стандартных команд, связанных с меню CommandID.

Команды конструктора представляют пользовательские команды, перечисленные в контекстном меню в режиме конструктора. Команда конструктора может предоставить указанную текстовую метку. Каждая команда конструктора автоматически назначается уникальной CommandID. Конструктор может предоставлять команды конструктора через его Verbs свойство, но они доступны только при выборе компонента конструктора. Команды глобального конструктора — это команды команд конструктора, к которым можно получить доступ из контекстного меню режима конструктора независимо от выбранного компонента. Этот интерфейс позволяет управлять набором команд глобального конструктора, доступных в режиме конструктора.

Вы можете добавить команду глобального конструктора AddVerb с помощью метода, и удалить команду глобального конструктора RemoveVerb можно с помощью метода. Вы можете вызвать команду конструктора GlobalInvoke с помощью метода, если известно о CommandID команде. Свойство Verbs этого интерфейса содержит текущий набор команд команд конструктора для отображения в контекстном меню. Этот набор команд команд конструктора состоит из всех глобальных команд конструктора и всех команд конструктора, предлагаемых конструктором любого выбранного компонента. Этот набор команд обновляется каждый раз, когда компонент с конструктором, предлагающим команды команд конструктора, выбирается или удаляется.

Команды меню ограничены набором стандартных команд. Большинство стандартных команд определяются в StandardCommands перечислениях.MenuCommands Вы можете добавлять, удалять и вызывать команды меню, а также выполнять поиск команд меню, которые были добавлены в меню с помощью методов этого интерфейса.

Вы можете добавить команду стандартного AddCommand меню с помощью метода и удалить стандартную команду меню с помощью RemoveCommand метода. Обработчик событий можно подключить к предопределенной стандартной команде меню, следуя процедуре, описанной в документации по методу AddCommand . Команду меню можно получить, CommandID если она была добавлена в меню с помощью FindCommand метода. С помощью CommandID метода можно вызвать команду меню или команду команды конструктора GlobalInvoke .

Примечание

Попытка добавить команду меню с уже существующей CommandID вызовет InvalidOperationExceptionисключение . При добавлении команды меню убедитесь, что она еще не находится в меню с помощью FindCommand метода, или используйте обработку исключений разумно.

Примечание

Команду меню можно добавить в меню и присвоить falseей Visible или Enabled свойства. Если визуально не удается найти команду меню, добавленную в меню, может быть задано falseодно из этих свойств.

С помощью метода можно отобразить определенные стандартные контекстные меню, содержащие команды меню в указанном расположении ShowContextMenu . Документация по этому методу содержит таблицу с идентификаторами команд, которые указывают допустимые меню для отображения.

Свойства

Verbs

Возвращает коллекцию команд конструктора, доступных в настоящий момент.

Методы

AddCommand(MenuCommand)

Добавляет в меню указанную стандартную команду меню.

AddVerb(DesignerVerb)

Добавляет указанную команду конструктора в набор общих команд конструктора.

FindCommand(CommandID)

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

GlobalInvoke(CommandID)

Вызывает команду меню или команду конструктора, соответствующую указанному идентификатору команды.

RemoveCommand(MenuCommand)

Удаляет из меню указанную стандартную команду меню.

RemoveVerb(DesignerVerb)

Удаляет указанную команду конструктора из коллекции глобальных команд конструктора.

ShowContextMenu(CommandID, Int32, Int32)

Отображает указанное контекстное меню в заданном месте.

Применяется к

См. также раздел