OleMenuCommand Class

Represents a menu command in Visual Studio.

Inheritance Hierarchy

System.Object
  System.ComponentModel.Design.MenuCommand
    Microsoft.VisualStudio.Shell.OleMenuCommand

Namespace:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.10.0 (in Microsoft.VisualStudio.Shell.10.0.dll)

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Class OleMenuCommand _
    Inherits MenuCommand _
    Implements IOleMenuCommand, IMenuCommandInvokeEx
[ComVisibleAttribute(true)]
public class OleMenuCommand : MenuCommand, 
    IOleMenuCommand, IMenuCommandInvokeEx
[ComVisibleAttribute(true)]
public ref class OleMenuCommand : public MenuCommand, 
    IOleMenuCommand, IMenuCommandInvokeEx
[<ComVisibleAttribute(true)>]
type OleMenuCommand =  
    class
        inherit MenuCommand
        interface IOleMenuCommand
        interface IMenuCommandInvokeEx
    end
public class OleMenuCommand extends MenuCommand implements IOleMenuCommand, IMenuCommandInvokeEx

The OleMenuCommand type exposes the following members.

Constructors

  Name Description
Public method OleMenuCommand(EventHandler, CommandID) Initializes a new instance of OleMenuCommand for the specified command.
Public method OleMenuCommand(EventHandler, CommandID, String) Initializes a new instance of OleMenuCommand for the specified command.
Public method OleMenuCommand(EventHandler, EventHandler, CommandID) Initializes a new instance of OleMenuCommand for the specified command with the specified invocation and status handlers.
Public method OleMenuCommand(EventHandler, EventHandler, CommandID, String) Initializes a new instance of OleMenuCommand for the specified command with the specified invocation and status handlers.
Public method OleMenuCommand(EventHandler, EventHandler, EventHandler, CommandID) Initializes a new instance of OleMenuCommand for the specified command with the specified pre-QueryStatus, invocation, and status handlers.
Public method OleMenuCommand(EventHandler, EventHandler, EventHandler, CommandID, String) Initializes a new instance of OleMenuCommand for the specified command with the specified pre-QueryStatus, invocation, and status handlers.

Top

Properties

  Name Description
Public property Checked Gets or sets a value indicating whether this menu item is checked. (Inherited from MenuCommand.)
Public property CommandID Gets the CommandID associated with this menu command. (Inherited from MenuCommand.)
Public property Enabled Gets a value indicating whether this menu item is available. (Inherited from MenuCommand.)
Public property MatchedCommandId Gets or sets the command ID.
Public property OleStatus Gets the OLE command status code for this menu item. (Overrides MenuCommand.OleStatus.)
Public property ParametersDescription Gets or sets the description of the parameters of the command.
Public property Properties Gets the public properties associated with the MenuCommand. (Inherited from MenuCommand.)
Public property Supported Gets or sets a value indicating whether this menu item is supported. (Inherited from MenuCommand.)
Public property Text Gets or sets the text for the command.
Public property Visible Gets or sets a value indicating whether this menu item is visible. (Inherited from MenuCommand.)

Top

Methods

  Name Description
Public method DynamicItemMatch Allows a dynamic item command to match the subsequent items in its list.
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Invoke() Invokes the command. (Inherited from MenuCommand.)
Public method Invoke(Object) Executes the command. (Overrides MenuCommand.Invoke(Object).)
Public method Invoke(Object, IntPtr) Executes the command.
Public method Invoke(Object, IntPtr, OLECMDEXECOPT) Executes the command with the specified parameters and execution options.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnCommandChanged Raises the CommandChanged event. (Inherited from MenuCommand.)
Public method ToString Returns a string representation of this menu command. (Inherited from MenuCommand.)

Top

Events

  Name Description
Public event BeforeQueryStatus Called when a client requests the status of the command.
Public event CommandChanged Occurs when the menu command changes. (Inherited from MenuCommand.)

Top

Remarks

This class implements IOleMenuCommand and IOleCommandInvokeEx, and derives from MenuCommand. You can use either MenuCommand or OleMenuCommand when you add a command in a Visual Studio extension. However, if the command is added dynamically, it makes more sense to use OleMenuCommand, in order to implement the BeforeQueryStatus handler.

You can find examples of this class in the following walkthroughs:

  1. How to: Create and Handle Commands in VSPackages (C#)

  2. How to: Change the Text of a Menu Command

  3. How to: Create Menus, SubMenus, and Shortcut Menus

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Shell Namespace