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 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 false
hodnotu . 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 false
hodnotu .
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í. |