收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章程序开发VB 编程
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

VS2005 项目上如何添加右键菜单

[ 作者:佚名    转贴自:网络转载    阅读次数:45    更新时间:2007-9-30 10:37:00   录入:刘光勇 ]        
    我们看下如何在解决方案资源管理器中如何添加右键菜单和如何自定义输出。

  仍然是在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 = addinNam
  menuItemHandler = (CommandBarEvents)_applicationObject.DTE.Events.get_CommandBarEvents(menuItem);
   menuItemHandler.Click += new _dispCommandBarControlEvents_ClickEventHandler(MenuItem_Click);

  上面一段代码,作用是在项目的右键菜单上增加一个名称为垃圾清除的菜单,CommandBars和CommandBar是用于管理命令栏的接口,通过

以下是引用片段:
 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);
   }
   }

  Click事件中是完成了对项目垃圾文件的清除和清除结果的输出,要想在输出窗口中输出自定义的内容,可以使用下面的方法

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

  这篇文章参考了dudu老大的 VS 2005 Add-in开发随笔 ,非常老大为我指明了方向。

  vs2005是一个扩展性比较强大的平台,虽然没有eclipse支持插件那样猛,可通过我们的挖掘,还是能在vs2005上安装不少装饰的,我这篇主要写了如何添加右键菜单和输出自定义内容,这个菜单主要完成的工作是清除项目文件夹中没有被项目引用的垃圾数据,下面是源码,大家使用的时候,将相应的.dll和.addins拷贝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins就可以了。

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“VS2005 项目上如何添加右键菜单”版权归文章所有者,转载请注明出处!
 ·上一篇文章:Visual Basic.Net基础概念和语法      ·下一篇文章:Visual Basic中的Do循环结构简介
相关文章
·VS2005控件的问题解决办法[80]
·VS2005 项目上如何添加右键菜单[45]
·Ubuntu Linux操作系统CVS安装与配置[25]
·VS2005的程序文件分发问题及解决[51]
·Vsftpd+Mysql+Pam配置虚拟用户方法[106]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网