Udostępnij za pośrednictwem


IMenuCommandService Interfejs

Definicja

Udostępnia metody zarządzania czasownikami i poleceniami menu projektanta globalnego dostępnymi w trybie projektowania oraz wyświetlaniem niektórych typów menu skrótów.

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
Pochodne
Atrybuty

Przykłady

W tym przykładzie pokazano użycie elementu IMenuCommandService w celu dodania elementu 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

Uwagi

Ten interfejs udostępnia metody:

  • Znajdź, wywołaj, dodaj i usuń polecenia czasownika projektanta globalnego.

  • Znajdź, wywołaj, dodaj i usuń standardowe polecenia menu.

  • Zmień programy obsługi zdarzeń skojarzone z standardowymi poleceniami menu.

  • Wyświetl menu skrótów standardowych poleceń skojarzonych z menu CommandID.

Designer czasowniki reprezentują polecenia zdefiniowane przez użytkownika, które są wyświetlane w menu skrótów w trybie projektowania. Czasownik projektanta może podać określoną etykietę tekstową. Każde zlecenie projektanta jest automatycznie przypisywane do unikatowego CommandIDelementu . Projektant może udostępniać czasowniki projektanta za pośrednictwem jego Verbs właściwości, ale są one dostępne tylko wtedy, gdy składnik projektanta jest aktualnie wybrany. Czasowniki projektanta globalnego to polecenia czasownika projektanta, do których można uzyskać dostęp z menu skrótów trybu projektowania niezależnie od wybranego składnika. Ten interfejs umożliwia zarządzanie zestawem czasowników projektanta globalnego, które są dostępne w trybie projektowania.

Czasownik projektanta globalnego AddVerb można dodać przy użyciu metody i usunąć czasownik projektanta globalnego RemoveVerb przy użyciu metody . Czasownik projektanta można wywołać przy użyciu GlobalInvoke metody , jeśli znasz CommandID czasownik. Właściwość Verbs tego interfejsu zawiera bieżący zestaw poleceń czasownika projektanta do wyświetlenia w menu skrótów. Ten zestaw poleceń czasownika projektanta składa się ze wszystkich czasowników projektanta globalnego i wszystkich czasowników projektanta oferowanych przez projektanta dowolnego aktualnie wybranego składnika. Ten zestaw czasowników jest aktualizowany za każdym razem, gdy składnik z projektantem oferuje polecenia czasownika projektanta jest zaznaczone lub zaznaczone.

Polecenia menu są ograniczone do zestawu wstępnie zdefiniowanych poleceń standardowych. Większość wstępnie zdefiniowanych poleceń standardowych jest definiowanych w wyliczeniach StandardCommands i MenuCommands . Polecenia menu można dodawać, usuwać i wywoływać oraz wyszukiwać polecenia menu, które zostały dodane do menu przy użyciu metod tego interfejsu.

Można dodać standardowe polecenie menu przy użyciu AddCommand metody i usunąć standardowe polecenie menu przy użyciu RemoveCommand metody . Program obsługi zdarzeń można dołączyć do wstępnie zdefiniowanego standardowego polecenia menu, wykonując procedurę opisaną w dokumentacji AddCommand metody . Polecenie menu można pobrać, CommandID jeśli zostało ono dodane do menu przy użyciu FindCommand metody . Za pomocą CommandID metody można wywołać polecenie menu lub polecenie czasownika projektanta GlobalInvoke .

Uwaga

Próba dodania polecenia menu z już istniejącym CommandID poleceniem spowoduje zgłoszenie polecenia InvalidOperationException. Podczas dodawania polecenia menu upewnij się, że nie znajduje się on jeszcze w menu przy użyciu FindCommand metody lub mądrze używaj obsługi wyjątków.

Uwaga

Polecenie menu można dodać do menu i mieć jego VisibleEnabled właściwości ustawione na false. Jeśli nie możesz wizualnie zlokalizować polecenia menu, które zostało dodane w menu, jedna z tych właściwości mogła być ustawiona na false.

Można wyświetlić niektóre standardowe menu skrótów zawierające polecenia menu w określonej lokalizacji przy użyciu ShowContextMenu metody . Dokumentacja tej metody zawiera tabelę zawierającą identyfikatory poleceń, które określają prawidłowe menu do pokazania.

Właściwości

Verbs

Pobiera kolekcję czasowników projektanta, które są obecnie dostępne.

Metody

AddCommand(MenuCommand)

Dodaje określone standardowe polecenie menu do menu.

AddVerb(DesignerVerb)

Dodaje czasownik określonego projektanta do zestawu czasowników projektanta globalnego.

FindCommand(CommandID)

Wyszukuje określony identyfikator polecenia i zwraca skojarzone z nim polecenie menu.

GlobalInvoke(CommandID)

Wywołuje menu lub polecenie czasownika projektanta pasujące do określonego identyfikatora polecenia.

RemoveCommand(MenuCommand)

Usuwa określone standardowe polecenie menu z menu.

RemoveVerb(DesignerVerb)

Usuwa czasownik określonego projektanta z kolekcji czasowników projektanta globalnego.

ShowContextMenu(CommandID, Int32, Int32)

Wyświetla określone menu skrótów w określonej lokalizacji.

Dotyczy

Zobacz też