IMenuCommandService Interface

Définition

Fournit des méthodes servant à gérer les verbes de concepteur globaux et les commandes de menu disponibles en mode design, ainsi qu'à afficher certains types de menus contextuels.

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
Dérivé
Attributs

Exemples

Cet exemple illustre l’utilisation de IMenuCommandService pour ajouter un 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

Remarques

Cette interface fournit des méthodes pour :

  • Rechercher, appeler, ajouter et supprimer des commandes de verbe du concepteur global.

  • Rechercher, appeler, ajouter et supprimer des commandes de menu standard.

  • Modifiez les gestionnaires d’événements associés aux commandes de menu standard.

  • Affichez un menu contextuel des commandes standard associées à un menu CommandID.

Designer verbes représentent des commandes personnalisées qui sont répertoriées dans le menu contextuel en mode Création. Un verbe de concepteur peut fournir une étiquette de texte spécifiée. Chaque verbe du concepteur se voit attribuer automatiquement un unique CommandID. Un concepteur peut fournir des verbes de concepteur via sa Verbs propriété, mais ceux-ci ne sont disponibles que lorsque le composant du concepteur est actuellement sélectionné. Les verbes du concepteur global sont des commandes de verbe de concepteur accessibles à partir d’un menu contextuel en mode création, quel que soit le composant sélectionné. Cette interface vous permet de gérer l’ensemble des verbes du concepteur global disponibles en mode création.

Vous pouvez ajouter un verbe de concepteur global à l’aide de la AddVerb méthode , et vous pouvez supprimer un verbe de concepteur global à l’aide de la RemoveVerb méthode . Vous pouvez appeler un verbe concepteur à l’aide de la GlobalInvoke méthode si vous connaissez le CommandID du verbe. La Verbs propriété de cette interface contient l’ensemble actuel de commandes de verbe de concepteur à afficher dans un menu contextuel. Cet ensemble de commandes de verbe de concepteur se compose de tous les verbes du concepteur global et de tous les verbes de concepteur proposés par le concepteur d’un composant actuellement sélectionné. Cet ensemble de verbes est mis à jour chaque fois qu’un composant avec un concepteur offrant des commandes de verbe de concepteur est sélectionné ou désélectionné.

Les commandes de menu sont limitées à l’ensemble de commandes standard prédéfinies. La plupart des commandes standard prédéfinies sont définies dans les StandardCommands énumérations et MenuCommands . Vous pouvez ajouter, supprimer et appeler des commandes de menu, et rechercher des commandes de menu qui ont été ajoutées à un menu à l’aide des méthodes de cette interface.

Vous pouvez ajouter une commande de menu standard à l’aide de la AddCommand méthode et supprimer une commande de menu standard à l’aide de la RemoveCommand méthode . Vous pouvez attacher un gestionnaire d’événements à une commande de menu standard prédéfinie en suivant la procédure détaillée dans la documentation de la AddCommand méthode . Vous pouvez récupérer une commande de menu par CommandID si elle a été ajoutée à un menu à l’aide de la FindCommand méthode . Vous pouvez appeler une commande de menu ou une commande CommandID de verbe de concepteur à l’aide de la GlobalInvoke méthode .

Notes

Une tentative d’ajout d’une commande de menu avec un existant CommandID lève un InvalidOperationException. Lorsque vous ajoutez une commande de menu, veillez à case activée qu’elle ne figure pas déjà dans un menu à l’aide de la méthode , ou utilisez judicieusement la FindCommand gestion des exceptions.

Notes

Une commande de menu peut être ajoutée à un menu et avoir ses Visible propriétés ou Enabled définies sur false. Si vous ne pouvez pas localiser visuellement une commande de menu qui a été ajoutée à falseun menu, l’une de ces propriétés a peut-être été définie sur .

Vous pouvez afficher certains menus contextuels standard contenant des commandes de menu à un emplacement spécifié à l’aide de la ShowContextMenu méthode . La documentation de cette méthode contient un tableau répertoriant les ID de commande qui spécifient les menus valides à afficher.

Propriétés

Verbs

Obtient une collection des verbes du concepteur actuellement disponibles.

Méthodes

AddCommand(MenuCommand)

Ajoute la commande de menu standard spécifiée au menu.

AddVerb(DesignerVerb)

Ajoute le verbe de concepteur spécifié à l'ensemble de verbes de concepteur globaux.

FindCommand(CommandID)

Recherche l'ID de commande spécifié et retourne la commande de menu qui lui est associée.

GlobalInvoke(CommandID)

Appelle une commande de menu ou une commande sous forme de verbe de concepteur correspondant à l'ID de commande spécifié.

RemoveCommand(MenuCommand)

Supprime la commande de menu standard spécifiée du menu.

RemoveVerb(DesignerVerb)

Supprime le verbe de concepteur spécifié de la collection de verbes de concepteur globaux.

ShowContextMenu(CommandID, Int32, Int32)

Affiche le menu contextuel spécifié à l'emplacement indiqué.

S’applique à

Voir aussi