Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

IMenuCommandService (Interfaz)

Proporciona métodos para administrar los verbos globales del diseñador y los comandos de menú disponibles en modo de diseño, así como para mostrar algunos tipos de menús contextuales.

Espacio de nombres:  System.ComponentModel.Design
Ensamblado:  System (en System.dll)

[ComVisibleAttribute(true)]
public interface IMenuCommandService

El tipo IMenuCommandService expone los siguientes miembros.

  NombreDescripción
Propiedad públicaVerbsObtiene una colección de los verbos de diseñador que están disponibles actualmente.
Arriba

  NombreDescripción
Método públicoAddCommandAgrega el comando de menú estándar especificado al menú.
Método públicoAddVerbAgrega el verbo del diseñador especificado al conjunto de verbos globales del diseñador.
Método públicoFindCommandBusca el identificador de comando especificado y devuelve el comando de menú asociado.
Método públicoGlobalInvokeInvoca a un comando de menú o de verbo del diseñador que coincida con el identificador de comando especificado.
Método públicoRemoveCommandQuita el comando de menú estándar especificado del menú.
Método públicoRemoveVerbQuita el verbo del diseñador especificado del conjunto de verbos globales del diseñador.
Método públicoShowContextMenuMuestra el menú contextual especificado en la ubicación especificada.
Arriba

Esta interfaz proporciona métodos para:

  • Buscar, invocar, agregar y quitar comandos de verbos globales del diseñador.

  • Buscar, invocar, agregar y quitar comandos de menú estándar.

  • Modificar los controladores de eventos asociados a comandos de menú estándar.

  • Mostrar un menú contextual de comandos estándar que esté asociado a un objeto CommandID de menú.

Los verbos del diseñador representan comandos definidos por el usuario que aparecen en el menú contextual en modo de diseño. Un verbo del diseñador puede disponer de una etiqueta de texto específica. A cada verbo del diseñador se le asigna automáticamente un CommandID exclusivo. Un diseñador puede proporcionar verbos del diseñador mediante su propiedad Verbs, pero sólo están disponibles cuando el componente del diseñador está seleccionado. Los verbos globales del diseñador son comandos a los que se tiene acceso mediante el menú contextual en modo de diseño, independientemente del componente seleccionado. Esta interfaz permite administrar el conjunto de verbos globales del diseñador que hay disponibles en modo de diseño.

Para agregar un verbo global del diseñador utilice el método AddVerb y, para quitar un verbo global del diseñador, utilice el método RemoveVerb. Para invocar a un verbo del diseñador, utilice el método GlobalInvoke si conoce el CommandID del verbo. La propiedad Verbs de esta interfaz contiene el conjunto actual de comandos de verbo del diseñador que se mostrarán en un menú contextual. Este conjunto de comandos de verbo del diseñador está compuesto por todos los verbos globales del diseñador y los verbos del diseñador que ofrece el diseñador de los componentes seleccionados en ese momento. Este conjunto de verbos se actualiza cada vez que se selecciona o se anula la selección de un componente con un diseñador que ofrece comandos de verbo.

Los comandos de menú se limitan al conjunto de los comandos estándar predefinidos. La mayoría de los comandos estándar predefinidos están definidos en las enumeraciones StandardCommands y MenuCommands. Utilice los métodos de esta interfaz para agregar, quitar e invocar comandos de menú, y para buscar los comandos de menú que se han agregado a un menú.

Para agregar un comando de menú estándar utilice el método AddCommand y, para quitar un comando de menú estándar, utilice el método RemoveCommand. Para asociar un controlador de eventos a un comando de menú estándar predefinido, siga el procedimiento detallado en la documentación relativa al método AddCommand. Se puede recuperar un comando de menú mediante CommandID si se ha agregado a un menú utilizando el método FindCommand. Para invocar un comando de menú o un comando de verbo del diseñador mediante CommandID, utilice el método GlobalInvoke.

NotaNota

Si se intenta agregar un comando de menú con un CommandID ya existente, se produce InvalidOperationException. Al agregar un comando de menú, utilice el método FindCommand para asegurarse de que ya no existe en un menú, o utilice un controlador de excepciones.

NotaNota

Se puede agregar un comando de menú a un menú y establecer sus propiedades Visible o Enabled en false. Si no encuentra un comando de menú que se ha agregado a un menú, es posible que una de estas propiedades esté establecida en false.

Se pueden mostrar determinados menús contextuales que contienen comandos de menú en una ubicación determinada; para ello, se utiliza el método ShowContextMenu. La documentación relativa a este método contiene una tabla que muestra los identificadores de comando que especifican los menús válidos que se van a mostrar.

En este ejemplo se muestra cómo utilizar IMenuCommandService para agregar MenuCommand.


[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")] 
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.");
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft