IMenuCommandService Interfaccia

Definizione

Fornisce metodi per gestire i verbi di progettazione globali e i comandi di menu disponibili in modalità progettazione e per visualizzare alcuni tipi di menu di scelta rapida.

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
Derivato
Attributi

Esempio

In questo esempio viene illustrato l'uso di IMenuCommandService per aggiungere un oggetto 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

Commenti

Questa interfaccia fornisce metodi per:

  • Trovare, richiamare, aggiungere e rimuovere i comandi verbi della finestra di progettazione globale.

  • Trovare, richiamare, aggiungere e rimuovere i comandi di menu standard.

  • Modificare i gestori eventi associati ai comandi di menu standard.

  • Visualizzare un menu di scelta rapida di comandi standard associati a un menu CommandID.

Designer verbi rappresentano comandi personalizzati elencati nel menu di scelta rapida in modalità progettazione. Un verbo della finestra di progettazione può fornire un'etichetta di testo specificata. A ogni verbo della finestra di progettazione viene assegnato automaticamente un oggetto univoco CommandID. Una finestra di progettazione può fornire verbi di progettazione tramite la relativa Verbs proprietà, ma sono disponibili solo quando il componente della finestra di progettazione è attualmente selezionato. I verbi della finestra di progettazione globale sono comandi verbi della finestra di progettazione a cui è possibile accedere da un menu di scelta rapida in modalità progettazione indipendentemente dal componente selezionato. Questa interfaccia consente di gestire il set di verbi della finestra di progettazione globale disponibili in modalità progettazione.

È possibile aggiungere un verbo della finestra di progettazione globale usando il AddVerb metodo ed è possibile rimuovere un verbo della finestra di progettazione globale usando il RemoveVerb metodo . È possibile richiamare un verbo della finestra di progettazione usando il GlobalInvoke metodo se si conosce l'oggetto CommandID del verbo. La Verbs proprietà di questa interfaccia contiene il set corrente di comandi verbi della finestra di progettazione da visualizzare in un menu di scelta rapida. Questo set di comandi verbi della finestra di progettazione è costituito da tutti i verbi della finestra di progettazione globali e tutti i verbi della finestra di progettazione offerti dalla finestra di progettazione di qualsiasi componente attualmente selezionato. Questo set di verbi viene aggiornato ogni volta che un componente con un progettista che offre comandi verbi della finestra di progettazione viene selezionato o deselezionato.

I comandi di menu sono limitati al set di comandi standard predefiniti. La maggior parte dei comandi standard predefiniti è definita nelle StandardCommands enumerazioni e MenuCommands . È possibile aggiungere, rimuovere e richiamare i comandi di menu e cercare i comandi di menu aggiunti a un menu usando i metodi di questa interfaccia.

È possibile aggiungere un comando di menu standard usando il AddCommand metodo e rimuovere un comando di menu standard usando il RemoveCommand metodo . È possibile associare un gestore eventi a un comando di menu standard predefinito seguendo la procedura descritta in dettaglio nella documentazione per il AddCommand metodo . È possibile recuperare un comando di CommandID menu se è stato aggiunto a un menu usando il FindCommand metodo . È possibile richiamare un comando di menu o un comando CommandID verbo della finestra di progettazione usando il GlobalInvoke metodo .

Nota

Un tentativo di aggiungere un comando di menu con un oggetto già esistente CommandID genererà un'eccezione InvalidOperationException. Quando si aggiunge un comando di menu, assicurarsi di verificare che non sia già presente in un menu usando il FindCommand metodo o usare la gestione delle eccezioni in modo saggio.

Nota

Un comando di menu può essere aggiunto a un menu e le relative Visible proprietà o Enabled sono impostate su false. Se non è possibile individuare visivamente un comando di menu aggiunto in un menu, è possibile che una di queste proprietà sia stata impostata su false.

È possibile visualizzare alcuni menu di scelta rapida standard contenenti comandi di menu in una posizione specificata usando il ShowContextMenu metodo . La documentazione per questo metodo contiene una tabella che elenca gli ID comando che specificano i menu validi da visualizzare.

Proprietà

Verbs

Ottiene un insieme dei verbi di progettazione attualmente disponibili.

Metodi

AddCommand(MenuCommand)

Aggiunge al menu il comando di menu standard specificato.

AddVerb(DesignerVerb)

Aggiunge il verbo di progettazione specificato al gruppo di verbi di progettazione globali.

FindCommand(CommandID)

Cerca l'ID del comando specificato e restituisce il comando di menu ad esso associato.

GlobalInvoke(CommandID)

Richiama un menu o un comando di verbo di progettazione corrispondente all'ID di comando specificato.

RemoveCommand(MenuCommand)

Rimuove dal menu il comando di menu standard specificato.

RemoveVerb(DesignerVerb)

Rimuove il verbo di progettazione specificato dall'insieme dei verbi di progettazione globali.

ShowContextMenu(CommandID, Int32, Int32)

Visualizza il menu di scelta rapida specificato nella posizione indicata.

Si applica a

Vedi anche