IMenuCommandService Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í. |