Sdílet prostřednictvím


IMenuCommandService Rozhraní

Definice

Poskytuje metody pro správu příkazů globálního návrháře a příkazů nabídek dostupných v režimu návrhu a zobrazení některých typů místních nabídek.

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
Odvozené
Atributy

Příklady

Tento příklad ukazuje použití k IMenuCommandService přidání .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

Poznámky

Toto rozhraní poskytuje metody pro:

  • Vyhledání, vyvolání, přidání a odebrání příkazů globálního návrháře sloves.

  • Vyhledání, vyvolání, přidání a odebrání standardních příkazů nabídky

  • Upravte obslužné rutiny událostí přidružené ke standardním příkazům nabídky.

  • Zobrazí místní nabídku standardních příkazů přidružených k nabídce CommandID.

Příkazy návrháře představují vlastní definované příkazy, které jsou uvedeny v místní nabídce v režimu návrhu. Příkaz návrháře může poskytnout zadaný textový popisek. Každému příkazu návrháře se automaticky přiřadí jedinečný CommandIDpříkaz . Návrhář může prostřednictvím své Verbs vlastnosti poskytovat příkazy návrháře, ale jsou k dispozici pouze v případě, že je komponenta návrháře aktuálně vybrána. Příkazy globálního návrháře jsou příkazy návrháře, ke kterým lze přistupovat z místní nabídky v režimu návrhu bez ohledu na vybranou komponentu. Toto rozhraní umožňuje spravovat sadu globálních příkazů návrháře, které jsou k dispozici v režimu návrhu.

Pomocí metody můžete přidat příkaz AddVerb globálního návrháře a pomocí této metody můžete odebrat příkaz globálního návrháře RemoveVerb . Pokud znáte CommandID sloveso, můžete vyvolat příkaz návrháře GlobalInvoke pomocí metody. Vlastnost Verbs tohoto rozhraní obsahuje aktuální sadu příkazů návrháře příkazy k zobrazení v místní nabídce. Tato sada příkazů příkazů návrháře se skládá ze všech globálních příkazů návrháře a všech příkazů návrháře nabízených návrhářem libovolné aktuálně vybrané komponenty. Tato sada sloves se aktualizuje pokaždé, když je vybrána nebo zrušena možnost výběru součásti s návrhářem, který nabízí příkazy návrháře.

Příkazy nabídky jsou omezené na sadu předdefinovaných standardních příkazů. Většina předdefinovaných standardních příkazů je definována v výčtech StandardCommands a MenuCommands výčtech. Pomocí metod tohoto rozhraní můžete přidat, odebrat a vyvolat příkazy nabídky a vyhledat příkazy nabídky, které byly přidány do nabídky.

Pomocí metody můžete přidat standardní příkaz AddCommand nabídky a pomocí metody odebrat standardní příkaz RemoveCommand nabídky. Obslužnou rutinu události můžete připojit k předdefinovanému standardnímu příkazu nabídky pomocí postupu popsaného v dokumentaci pro metodu AddCommand . Příkaz nabídky můžete načíst, CommandID pokud byl přidán do nabídky pomocí FindCommand metody. Příkaz nabídky nebo příkaz návrháře můžete vyvolat pomocí CommandIDGlobalInvoke metody.

Poznámka:

Pokus o přidání příkazu nabídky s již existujícím CommandID vyvolá výjimku InvalidOperationException. Při přidávání příkazu nabídky nezapomeňte pomocí metody zkontrolovat, jestli ještě není v nabídce FindCommand , nebo použít zpracování výjimek moudře.

Poznámka:

Příkaz nabídky lze přidat do nabídky a mít jeho Visible nebo Enabled vlastnosti nastavené na false. Pokud nelze vizuálně najít příkaz nabídky, který byl přidán v nabídce, je možné, že jedna z těchto vlastností byla nastavena na false.

Pomocí metody můžete zobrazit určité standardní místní nabídky obsahující příkazy nabídky v zadaném umístění ShowContextMenu . Dokumentace pro tuto metodu obsahuje tabulku se seznamem ID příkazů, které určují platné nabídky, které se mají zobrazit.

Vlastnosti

Name Description
Verbs

Získá kolekci příkazů návrháře, které jsou aktuálně k dispozici.

Metody

Name Description
AddCommand(MenuCommand)

Přidá do nabídky zadaný standardní příkaz nabídky.

AddVerb(DesignerVerb)

Přidá zadaný příkaz návrháře do sady globálních příkazů návrháře.

FindCommand(CommandID)

Vyhledá zadané ID příkazu a vrátí příkaz nabídky přidružený k němu.

GlobalInvoke(CommandID)

Vyvolá příkaz nabídky nebo příkazu návrháře odpovídající zadanému ID příkazu.

RemoveCommand(MenuCommand)

Odebere zadaný standardní příkaz nabídky z nabídky.

RemoveVerb(DesignerVerb)

Odebere zadaný příkaz návrháře z kolekce globálních příkazů návrháře.

ShowContextMenu(CommandID, Int32, Int32)

Zobrazí zadanou místní nabídku v zadaném umístění.

Platí pro

Viz také