01.visual studio 2017添加菜单

创建项目

  •  文件--新建项目
  • 如果新建项目 左侧没有扩展菜单,请安装即可

 

 添加菜单

  • 右键--添加新项

菜单设置

  • 菜单设置文件: MyCommandPackage.vsct

 

  <Buttons> 
      <Button guid="guidMyCommandPackageCmdSet" id="MyCommandId" priority="0x0101" type="Button">
        <Parent guid="guidMyCommandPackageCmdSet" id="MyMenuGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
          <ButtonText>菜单一</ButtonText>
        </Strings>
      </Button>
      <Button guid="guidMyCommandPackageCmdSet" id="MyCommandId" priority="0x0102" type="Button">
        <Parent guid="guidMyCommandPackageCmdSet" id="MyMenuGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
          <ButtonText>菜单二</ButtonText>
        </Strings>
      </Button>
    </Buttons>
  • 菜单位置设置
   <Groups>
      <Group guid="guidMyCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
      </Group>
    </Groups>
<!--
id值说明:
IDM_VS_CTXT_SOLNNODE      是指的解决方案资源管理器里的解决方案
IDM_VS_CTXT_SOLNFOLDER    是指的解决方案资源管理器里的 解决方案里的文件夹,不是项目里的哈,这个文件夹是虚拟的,没有实际的文件夹映射
IDM_VS_CTXT_PROJNODE      是指的解决方案资源管理器里的项目
IDM_VS_CTXT_FOLDERNODE    是指的解决方案资源管理器里的项目里的文件夹
IDM_VS_CTXT_ITEMNODE      是指的解决方案资源管理器里的项目里的项,就例如cs、js文件
-->

 点击事件

      private MyCommand(Package package)
        {
            if (package == null)
            {
                throw new ArgumentNullException("package");
            }

            this.package = package;

            OleMenuCommandService commandService = this.ServiceProvider.GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
            if (commandService != null)
            {
                var menuCommand01 = new CommandID(CommandSet, 0x0101);
                var menuItem = new MenuCommand(this.MenuItemCallback, menuCommand01);
                commandService.AddCommand(menuItem);

                var menuCommand02 = new CommandID(CommandSet, 0x0102);
                var menuItem02 = new MenuCommand(this.MenuItemCallback, menuCommand02);
                commandService.AddCommand(menuItem02);
            }
        }

 

转载于:https://www.cnblogs.com/shuyu/p/10842560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值