Sdílet prostřednictvím


IMenuCommandService Rozhraní

Definice

Poskytuje metody pro správu globálních příkazů návrháře a příkazů nabídek, které jsou k dispozici v režimu návrhu, a k 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

  • 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ů, která je přidružená k nabídce CommandID.

Designer slovesa 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 slovesu návrháře se automaticky přiřadí jedinečný příkaz CommandID. Návrhář může poskytnout příkazy návrháře prostřednictvím své Verbs vlastnosti, 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 pro příkazy návrháře, které jsou přístupné z místní nabídky režimu návrhu bez ohledu na vybranou komponentu. Toto rozhraní umožňuje spravovat sadu globálních návrhářů sloves, které jsou k dispozici v režimu návrhu.

Pomocí metody můžete přidat příkaz globálního návrháře AddVerb a pomocí metody můžete odebrat příkaz globálního návrháře RemoveVerb . Příkaz návrháře můžete vyvolat pomocí GlobalInvoke metody , pokud znáte CommandID sloveso . 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ů návrháře se skládá ze všech příkazů globálního návrháře a všech návrhářových sloves nabízených návrhářem pro aktuálně vybranou komponentu. Tato sada sloves se aktualizuje při každém výběru nebo zrušení výběru komponenty s návrhářem, který nabízí příkazy příkazů 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 ve výčtech StandardCommands a MenuCommands . Můžete přidávat, odebírat a vyvolávat příkazy nabídky a vyhledávat příkazy nabídky, které byly přidány do nabídky pomocí metod tohoto rozhraní.

Standardní příkaz nabídky můžete přidat pomocí AddCommand metody a odebrat standardní příkaz nabídky pomocí RemoveCommand metody . Obslužnou rutinu události můžete připojit k předdefinovanému standardnímu příkazu nabídky podle postupu popsaného v dokumentaci k AddCommand metodě. Příkaz nabídky můžete načíst pomocí 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 příkazem vyvolá .InvalidOperationException Při přidávání příkazu nabídky nezapomeňte pomocí FindCommand metody zkontrolovat, že již není v nabídce, nebo používejte zpracování výjimek uvádě.

Poznámka

Příkaz nabídky lze přidat do nabídky a jeho Visible vlastnosti nebo Enabled mají nastavené na falsehodnotu . Pokud nemůžete vizuálně najít příkaz nabídky přidaný do nabídky, je možné, že jedna z těchto vlastností byla nastavena na falsehodnotu .

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

Vlastnosti

Verbs

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

Metody

AddCommand(MenuCommand)

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

AddVerb(DesignerVerb)

Přidá zadané příkazy návrháře do sady příkazů globálního návrháře.

FindCommand(CommandID)

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

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říkazy návrháře z kolekce příkazů globálního návrháře.

ShowContextMenu(CommandID, Int32, Int32)

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

Platí pro

Viz také