IMenuCommandService Interface

Definição

Fornece métodos para gerenciar os comandos de menu e os verbos de designer globais disponíveis no modo de design e para exibir alguns tipos de menu de atalho.

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
Derivado
Atributos

Exemplos

Este exemplo demonstra o uso do IMenuCommandService para adicionar um 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

Comentários

Essa interface fornece métodos para:

  • Localizar, invocar, adicionar e remover comandos de verbo do designer global.

  • Localizar, invocar, adicionar e remover comandos de menu padrão.

  • Altere os manipuladores de eventos associados aos comandos de menu padrão.

  • Exiba um menu de atalho dos comandos padrão associados a um menu CommandID.

Designer verbos representam comandos personalizados listados no menu de atalho no modo de design. Um verbo de designer pode fornecer um rótulo de texto especificado. Cada verbo de designer recebe automaticamente um exclusivo CommandID. Um designer pode fornecer verbos de designer por meio de sua Verbs propriedade, mas eles só estão disponíveis quando o componente do designer está selecionado no momento. Verbos de designer global são comandos de verbo de designer que podem ser acessados em um menu de atalho do modo de design, independentemente do componente selecionado. Essa interface permite que você gerencie o conjunto de verbos de designer global que estão disponíveis no modo de design.

Você pode adicionar um verbo de designer global usando o AddVerb método e remover um verbo de designer global usando o RemoveVerb método . Você pode invocar um verbo de designer usando o GlobalInvoke método se souber o CommandID do verbo. A Verbs propriedade dessa interface contém o conjunto atual de comandos de verbo do designer a serem exibidos em um menu de atalho. Esse conjunto de comandos de verbo de designer consiste em todos os verbos de designer globais e quaisquer verbos de designer oferecidos pelo designer de qualquer componente selecionado no momento. Esse conjunto de verbos é atualizado sempre que um componente com um designer que oferece comandos de verbo de designer é selecionado ou desmarcado.

Os comandos de menu são limitados ao conjunto de comandos padrão predefinidos. A maioria dos comandos padrão predefinidos são definidos nas StandardCommands enumerações e MenuCommands . Você pode adicionar, remover e invocar comandos de menu e pesquisar comandos de menu que foram adicionados a um menu usando métodos dessa interface.

Você pode adicionar um comando de menu padrão usando o AddCommand método e remover um comando de menu padrão usando o RemoveCommand método . Você pode anexar um manipulador de eventos a um comando de menu padrão predefinido seguindo o procedimento detalhado na documentação do AddCommand método . Você pode recuperar um comando CommandID de menu se ele tiver sido adicionado a um menu usando o FindCommand método . Você pode invocar um comando de menu ou comando CommandID de verbo de designer usando o GlobalInvoke método .

Observação

Uma tentativa de adicionar um comando de menu com um já existente CommandID gerará um InvalidOperationException. Ao adicionar um comando de menu, certifique-se de marcar que ele ainda não está em um menu usando o FindCommand método ou use o tratamento de exceções com sabedoria.

Observação

Um comando de menu pode ser adicionado a um menu e ter suas Visible propriedades ou Enabled definidas como false. Se você não conseguir localizar visualmente um comando de menu que foi adicionado em um menu, uma dessas propriedades poderá ter sido definida falsecomo .

Você pode mostrar determinados menus de atalho padrão que contêm comandos de menu em um local especificado usando o ShowContextMenu método . A documentação desse método contém uma tabela listando as IDs de comando que especificam os menus válidos a serem exibidos.

Propriedades

Verbs

Obtém uma coleção dos verbos do designer que estão disponíveis no momento.

Métodos

AddCommand(MenuCommand)

Adiciona o comando de menu padrão especificado ao menu.

AddVerb(DesignerVerb)

Adiciona o verbo do designer especificado ao conjunto de verbos do designer global.

FindCommand(CommandID)

Pesquisa a ID de comando especificada e retorna o comando de menu associado a ela.

GlobalInvoke(CommandID)

Invoca um comando de verbo de designer ou menu correspondendo à ID de comando especificada.

RemoveCommand(MenuCommand)

Remove o comando de menu padrão especificado no menu.

RemoveVerb(DesignerVerb)

Remove o verbo do designer especificado da coleção de verbos do designer globais.

ShowContextMenu(CommandID, Int32, Int32)

Mostra o menu de atalho especificado no local especificado.

Aplica-se a

Confira também