扩展VS2010表单设计器上下文菜单

时间:2013-02-06 22:58:56

标签: c# visual-studio-2010 menu add-in designer

我正在尝试将项添加到Visual Studio 2010表单设计器中的上下文菜单中。

到目前为止,我有一个Addin项目,它检索表单设计器的IDesignerHost,IDesigner等表示。这些接口似乎都没有公开与上下文菜单相关的任何内容。我也尝试为设计师网站检索IMenuEditorService,但是没有与之关联的任何项目。

我也尝试遍历DTE窗口中的所有CommandBar项目(如Visual Studio 2010 Plug-in - Adding a context-menu to the Editor Window所示),同样,这些项似乎都不代表表单设计器上下文菜单。

有一种简单的方法吗?

由于

1 个答案:

答案 0 :(得分:3)

动词出现在设计器菜单和控件属性中。如果向设计师添加动词就足够了,那就是你可以做到的:

DesignerVerb _verb;
_verb = new DesignerVerb("Do something", OnConvertClick);

var designer = _designerHost.GetDesigner(comp);
if (!designer.Verbs.Contains(_verb))
  designer.Verbs.Add(_verb);

void OnConvertClick(object sender, EventArgs e)
{
   MessageBox.Show("Hello world!");
}