OleMenuCommandService Class
This class derives from the MenuCommandService class and implements IOleCommandTarget. MenuCommandService is the managed class used to add handlers for menu commands and to define verbs.
Assembly: Microsoft.VisualStudio.Shell.14.0 (in Microsoft.VisualStudio.Shell.14.0.dll)
System.ComponentModel.Design.MenuCommandService
Microsoft.VisualStudio.Shell.OleMenuCommandService
| Name | Description | |
|---|---|---|
![]() | OleMenuCommandService(IServiceProvider) | Creates a new menu command service. |
![]() | OleMenuCommandService(IServiceProvider, IOleCommandTarget) | Creates a new menu command service. |
| Name | Description | |
|---|---|---|
![]() | ParentTarget | Gets or sets the parent command target. |
![]() | ServiceProvider | Obsolete.Gets the service provider. |
![]() | Verbs | (Inherited from MenuCommandService.) |
| Name | Description | |
|---|---|---|
![]() | MenuCommandsChanged | (Inherited from MenuCommandService.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IOleCommandTarget.Exec(Guid, UInt32, UInt32, IntPtr, IntPtr) | This API supports the product infrastructure and is not intended to be used directly from your code. Executes the selected command. |
![]() ![]() | IOleCommandTarget.QueryStatus(Guid, UInt32, OLECMD[], IntPtr) | This API supports the product infrastructure and is not intended to be used directly from your code. Sets command status. |
OleMenuCommandService is automatically offered by the Package class (to offer global commands for an entire package), and it is also offered by the WindowPane class (to offer commands for the current window). This offering is always done via the service container, so anyone deriving from the Package or WindowPane classes can remove or replace the default implementation of this class. This class uses several other services. All of these services are optional, so the class's behavior will degrade if one or more services are missing. The following table shows which services are used and for what purpose:
Service | Use |
|---|---|
ISelectionService | Used to discover the current selection in order to obtain verbs offered by the currently selected designer. |
IDesignerHost | Used to obtain the designer for the currently selected component, if any. |
IVsUIShell | Used to notify Visual Studio that the command status has changed. Used to execute global commands |
OleComponentUIManager | Used to show context menus |
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.






