关于vs2005-如何添加右键菜单

songyingjian2008 2008-07-09 10:01:06
最近在网上看了在vs2005-项目上如何添加右键菜单的问题。 如下
在OnConnection中添加创建右键菜单的代码:
CommandBarEvents menuItemHandler;
string addinName = "垃圾清除";
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
//获得项目的命令行菜单
CommandBars cmdBars = (CommandBars)(_applicationObject.DTE.CommandBars);
CommandBar vsBarProject = cmdBars["Project"];
CommandBarControl menuItem = vsBarProject.Controls.Add(MsoControlType.msoControlButton, 1, "", 2, true);
menuItem.Tag = addinName;
menuItem.Caption = addinName;
menuItem.TooltipText = addinName;
menuItemHandler = (CommandBarEvents)_applicationObject.DTE.Events.get_CommandBarEvents(menuItem);
menuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(MenuItem_Click);
添加子菜单的点击事件:
private void MenuItem_Click(object commandBarControl, ref bool handled, ref bool cancelDefault)
{
try
{
Project prj = (Project)((Array)_applicationObject.ActiveSolutionProjects).GetValue(0);
SpilthCleaner.Executor e = new SpilthCleaner.Executor();
string res = e.Clear(System.IO.Path.GetDirectoryName(prj.FullName), prj.FullName);
OutputWindowTest(_applicationObject, "res");
}
catch (Exception ex)
{
OutputWindowTest(_applicationObject, ex.Message);
}
}

public void OutputWindowTest(DTE2 dte, string outputStr)
{
//获得输出窗口
OutputWindow ow = dte.ToolWindows.OutputWindow;
//创建属于自己的输出类型
OutputWindowPane owP;
owP = ow.OutputWindowPanes.Add("垃圾清除");
//输出文字内容
owP.OutputString(outputStr);
}

这样在解决方案的项目中添加右键菜单“垃圾清除”,但是怎样才能在项目以下的文件中添加右键菜单呢。
敬请各位大虾讨论。
...全文
351 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
songyingjian2008 2008-07-09
  • 打赏
  • 举报
回复
不明白,这里没有form窗体啊
JTFLSH 2008-07-09
  • 打赏
  • 举报
回复
LZ把代码写进CONTEXTMENUSTRIP控键,再和目标控键绑定啊.

110,021

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧