OleMenuCommandService 类

此类从 MenuCommandService 类派生并实现 IOleCommandTargetMenuCommandService 是用于托管类添加菜单命令的处理程序并定义谓词。

继承层次结构

System.Object
  System.ComponentModel.Design.MenuCommandService
    Microsoft.VisualStudio.Shell.OleMenuCommandService

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
Public Class OleMenuCommandService _
    Inherits MenuCommandService _
    Implements IOleCommandTarget
[ComVisibleAttribute(true)]
public class OleMenuCommandService : MenuCommandService, 
    IOleCommandTarget

OleMenuCommandService 类型公开以下成员。

构造函数

  名称 说明
公共方法 OleMenuCommandService(IServiceProvider) 创建新的菜单命令服务。
公共方法 OleMenuCommandService(IServiceProvider, IOleCommandTarget) 创建新的菜单命令服务。

页首

属性

  名称 说明
公共属性 ParentTarget 获取或设置父命令目标。
受保护的属性 ServiceProvider 已过时。获取服务提供程序。
公共属性 Verbs 获取当前可用的设计器谓词的集合。 (继承自 MenuCommandService。)

页首

方法

  名称 说明
公共方法 AddCommand 将命令处理程序添加到菜单命令服务。 (继承自 MenuCommandService。)
公共方法 AddVerb 将谓词添加到 MenuCommandService 的谓词表中。 (继承自 MenuCommandService。)
公共方法 Dispose() 释放由 MenuCommandService 使用的所有资源。 (继承自 MenuCommandService。)
受保护的方法 Dispose(Boolean) 释放由 MenuCommandService 使用的所有资源。 (继承自 MenuCommandService。)
受保护的方法 EnsureVerbs 确保已经创建谓词列表。 (继承自 MenuCommandService。)
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 FindCommand(CommandID) 搜索与给定命令 ID 关联的 MenuCommand。 (继承自 MenuCommandService。)
受保护的方法 FindCommand(Guid, Int32) 搜索与给定命令关联的 MenuCommand。 (继承自 MenuCommandService。)
受保护的方法 GetCommandList 获取给定 GUID 的命令列表。 (继承自 MenuCommandService。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
受保护的方法 GetService 获取对所请求服务的引用。 (继承自 MenuCommandService。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 GlobalInvoke(CommandID) 可以使用 " 调用在 Visual Studio 中的所有命令。 (重写 MenuCommandService.GlobalInvoke(CommandID)。)
公共方法 GlobalInvoke(CommandID, Object) 可以使用 " 调用在 Visual Studio 中的所有命令。 (重写 MenuCommandService.GlobalInvoke(CommandID, Object)。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法 OnCommandsChanged 调用通过菜单命令,其状态发生了变化。 (重写 MenuCommandService.OnCommandsChanged(MenuCommandsChangedEventArgs)。)
公共方法 RemoveCommand 从文档中移除给定的菜单命令。 (继承自 MenuCommandService。)
公共方法 RemoveVerb 从文档中移除给定谓词。 (继承自 MenuCommandService。)
公共方法 ShowContextMenu 在给定位置显示带有给定的命令 ID 的快捷菜单。 (重写 MenuCommandService.ShowContextMenu(CommandID, Int32, Int32)。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

事件

  名称 说明
公共事件 MenuCommandsChanged 当菜单命令的状态更改时发生。 (继承自 MenuCommandService。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IOleCommandTarget.Exec 基础结构。执行选定的命令。
显式接口实现私有方法 IOleCommandTarget.QueryStatus 基础结构。设置命令状态。

页首

备注

Package 类自动提供OleMenuCommandService (提供整个包的全局命令),并且, WindowPane 类还提供它 (提供当前窗口的命令)。提供的属性通过服务容器总是执行,因此,从派生 PackageWindowPane 类的任何人都可以移除或替换此类的默认实现。此类使用一些其他服务。所有这些服务是可选的,因此,类的行为会降低,如果一个或多个服务丢失。使用,并为的目的下表显示:

服务

使用

ISelectionService

用于发现当前选择以获取由当前选择的设计器提供的谓词。

IDesignerHost

用于获取当前选择的组件的设计器(如果有)。

IVsUIShell

用于通知 Visual Studio 命令状态发生了变化。

用于执行全局顺序

OleComponentUIManager

用于显示上下文菜单

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Shell 命名空间