IMenuCommandService Schnittstelle

Definition

Stellt Methoden bereit, mit denen Sie die im Entwurfsmodus verfügbaren globalen Designerverben und Menübefehle verwalten sowie einige Typen von Kontextmenüs anzeigen können.Provides methods to manage the global designer verbs and menu commands available in design mode, and to show some types of shortcut menus.

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
Abgeleitet
Attribute

Beispiele

In diesem Beispiel wird die Verwendung des IMenuCommandService zum Hinzufügen von veranschaulicht MenuCommand .This example demonstrates using the IMenuCommandService to add a 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." );
      }
   };
}
[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.");
    }
}
<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

Hinweise

Diese Schnittstelle stellt Methoden für Folgendes bereit:This interface provides methods to:

  • Globale Designer Verb Befehle suchen, aufrufen, hinzufügen und entfernen.Find, invoke, add and remove global designer verb commands.

  • Standardmenü Befehle suchen, aufrufen, hinzufügen und entfernen.Find, invoke, add and remove standard menu commands.

  • Ändern Sie die Ereignishandler, die mit den Standardmenü Befehlen verknüpft sind.Alter the event handlers associated with standard menu commands.

  • Zeigt ein Kontextmenü von Standard Befehlen an, die einem Menü zugeordnet sind CommandID .Display a shortcut menu of standard commands that is associated with a menu CommandID.

Designer Verben stellen benutzerdefinierte Befehle dar, die im Kontextmenü im Entwurfs Modus aufgeführt sind.Designer verbs represent custom-defined commands that are listed on the shortcut menu in design mode. Ein Designer Verb kann eine angegebene Text Bezeichnung bereitstellen.A designer verb can provide a specified text label. Jedem Designer Verb wird automatisch eine eindeutige zugewiesen CommandID .Each designer verb is automatically assigned a unique CommandID. Designer Verben können von einem Designer über die zugehörige- Verbs Eigenschaft bereitgestellt werden. diese sind jedoch nur verfügbar, wenn die Komponente des Designers aktuell ausgewählt ist.A designer can provide designer verbs through its Verbs property, but these are only available when the designer's component is currently selected. Globale Designer Verben sind Designer Verb Befehle, auf die von einem Kontextmenü im Entwurfs Modus unabhängig von der ausgewählten Komponente zugegriffen werden kann.Global designer verbs are designer verb commands that can be accessed from a design-mode shortcut menu regardless of the selected component. Mit dieser Schnittstelle können Sie den Satz von globalen Designer Verben verwalten, die im Entwurfs Modus verfügbar sind.This interface allows you to manage the set of global designer verbs that are available in design mode.

Mithilfe der-Methode können Sie ein globales Designer Verb hinzufügen AddVerb , und Sie können ein globales Designer Verb mithilfe der- RemoveVerb Methode entfernen.You can add a global designer verb using the AddVerb method, and you can remove a global designer verb using the RemoveVerb method. Sie können ein Designer Verb mithilfe der- GlobalInvoke Methode aufrufen, wenn Sie die CommandID des Verbs kennen.You can invoke a designer verb using the GlobalInvoke method if you know the CommandID of the verb. Die- Verbs Eigenschaft dieser Schnittstelle enthält den aktuellen Satz von Designer Verb Befehlen, der in einem Kontextmenü angezeigt werden soll.The Verbs property of this interface contains the current set of designer verb commands to display in a shortcut menu. Dieser Satz von Designer Verb Befehlen besteht aus allen globalen Designer Verben und allen Designer Verben, die vom Designer einer beliebigen aktuell ausgewählten Komponente bereitgestellt werden.This set of designer verb commands consists of all global designer verbs and any designer verbs offered by the designer of any currently selected component. Diese Verben werden jedes Mal aktualisiert, wenn eine Komponente mit Designer-Verb Befehlen ausgewählt oder deaktiviert wird.This set of verbs is updated each time a component with a designer offering designer verb commands is selected or deselected.

Menübefehle sind auf den Satz vordefinierter Standard Befehle beschränkt.Menu commands are limited to the set of predefined standard commands. Die meisten der vordefinierten Standard Befehle sind in den StandardCommands MenuCommands Enumerationen und definiert.Most of the predefined standard commands are defined in the StandardCommands and MenuCommands enumerations. Sie können Menübefehle hinzufügen, entfernen und aufrufen und Menübefehle suchen, die einem Menü mithilfe von Methoden dieser Schnittstelle hinzugefügt wurden.You can add, remove, and invoke menu commands, and search for menu commands that have been added to a menu using methods of this interface.

Sie können einen Standardmenü Befehl mithilfe der AddCommand -Methode hinzufügen und einen Standardmenü Befehl mithilfe der- RemoveCommand Methode entfernen.You can add a standard menu command using the AddCommand method, and remove a standard menu command using the RemoveCommand method. Sie können einen Ereignishandler an einen vordefinierten Standardmenü Befehl anfügen, indem Sie das in der Dokumentation für die-Methode beschriebene Verfahren befolgen AddCommand .You can attach an event handler to a predefined standard menu command by following the procedure detailed in the documentation for the AddCommand method. Sie können einen Menübefehl von abrufen CommandID , wenn er einem Menü mithilfe der-Methode hinzugefügt wurde FindCommand .You can retrieve a menu command by CommandID if it has been added to a menu using the FindCommand method. Mithilfe der-Methode können Sie einen Menübefehl oder einen Designer Verb Befehl aufrufen CommandID GlobalInvoke .You can invoke a menu command or designer verb command by CommandID using the GlobalInvoke method.

Hinweis

Wenn Sie versuchen, einen Menübefehl mit einem bereits vorhandenen hinzuzufügen, CommandID wird eine ausgelöst InvalidOperationException .An attempt to add a menu command with an already existing CommandID will throw an InvalidOperationException. Wenn Sie einen Menübefehl hinzufügen, stellen Sie sicher, dass er nicht bereits in einem Menü mit der-Methode vorhanden ist FindCommand , oder verwenden Sie die Ausnahmebehandlung in gewisser Weise.When adding a menu command, be sure to check that it is not already on a menu using the FindCommand method, or use exception handling wisely.

Hinweis

Ein Menübefehl kann einem Menü hinzugefügt werden, und die-Eigenschaft oder die-Eigenschaft kann Visible Enabled auf festgelegt werden false .A menu command can be added to a menu, and have its Visible or Enabled properties set to false. Wenn Sie einen Menübefehl, der in einem Menü hinzugefügt wurde, nicht visuell finden können, wurde eine dieser Eigenschaften möglicherweise auf festgelegt false .If you cannot visually locate a menu command that has been added on a menu, one of these properties may have been set to false.

Mithilfe der-Methode können Sie bestimmte Standardkontext Menüs mit Menübefehlen an einer bestimmten Position anzeigen ShowContextMenu .You can show certain standard shortcut menus containing menu commands at a specified location using the ShowContextMenu method. Die Dokumentation für diese Methode enthält eine Tabelle mit den Befehls-IDs, die die anzuzeigenden gültigen Menüs angeben.The documentation for this method contains a table listing the command IDs that specify the valid menus to show.

Eigenschaften

Verbs

Ruft eine Auflistung der aktuell verfügbaren Designerverben ab.Gets a collection of the designer verbs that are currently available.

Methoden

AddCommand(MenuCommand)

Fügt dem Menü den angegebenen Standardmenübefehl hinzu.Adds the specified standard menu command to the menu.

AddVerb(DesignerVerb)

Fügt das angegebene Designerverb der Gruppe der globalen Designerverben hinzu.Adds the specified designer verb to the set of global designer verbs.

FindCommand(CommandID)

Sucht nach der angegebenen Befehls-ID und gibt den zugeordneten Menübefehl zurück.Searches for the specified command ID and returns the menu command associated with it.

GlobalInvoke(CommandID)

Ruft einen der angegebenen Befehls-ID entsprechenden Menübefehl oder Designerverbbefehl auf.Invokes a menu or designer verb command matching the specified command ID.

RemoveCommand(MenuCommand)

Entfernt den angegebenen Standardmenübefehl aus dem Menü.Removes the specified standard menu command from the menu.

RemoveVerb(DesignerVerb)

Entfernt das angegebene Designerverb aus der Auflistung von globalen Designerverben.Removes the specified designer verb from the collection of global designer verbs.

ShowContextMenu(CommandID, Int32, Int32)

Zeigt das angegebene Kontextmenü an der angegebenen Position an.Shows the specified shortcut menu at the specified location.

Gilt für:

Siehe auch