我正在尝试将项添加到Visual Studio 2010表单设计器中的上下文菜单中。
到目前为止,我有一个Addin项目,它检索表单设计器的IDesignerHost,IDesigner等表示。这些接口似乎都没有公开与上下文菜单相关的任何内容。我也尝试为设计师网站检索IMenuEditorService,但是没有与之关联的任何项目。
我也尝试遍历DTE窗口中的所有CommandBar项目(如Visual Studio 2010 Plug-in - Adding a context-menu to the Editor Window所示),同样,这些项似乎都不代表表单设计器上下文菜单。
有一种简单的方法吗?
由于
答案 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!");
}