2

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

到目前为止,我有一个插件项目,它检索表单设计器的 IDesignerHost、IDesigner 等表示。这些界面似乎都没有公开与上下文菜单相关的任何内容。我还尝试为设计器站点检索 IMenuEditorService,但这没有任何关联的项目。

我还尝试遍历窗口 DTE 中的所有 CommandBar 项目(如Visual Studio 2010 Plug-in - 添加上下文菜单到编辑器窗口),同样,这些似乎都不代表表单设计器上下文菜单。

是否有捷径可寻?

谢谢

4

1 回答 1

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!");
}
于 2013-02-07T05:22:24.403 回答