没有合适的资源?快使用搜索试试~ 我知道了~
1. 创建了一个名为MenuText的VSIX项目,并且添加名为ChangeMenuText的菜单命令 2. 在.vsct文件里添加TextChanges标志到
资源详情
资源评论
资源推荐
MIAOW 瞎翻译自微软技术文档 2017/7/10
改变菜单项的文字
原文
https://docs.microsoft.com/zh-cn/visualstudio/extensibility/changing-the-text-of-a-menu-comma
nd
本文内容
通过IMenuCommandService改变菜单命令的标签。
下面的步骤演示如何通过使用IMenuCommandService服务更改菜单命令的文本标签。
通过 IMenuCommandService 改变菜单命令的标签
1. 创建了一个名为MenuText的VSIX项目,并且添加名为ChangeMenuText的菜单命令。详见创建菜单
命令项扩展。
2. 在.vsct文件里添加TextChanges标志到你的菜单命令,如下所示。
<Button guid="guidChangeMenuTextPackageCmdSet" id="ChangeMenuTextId" priority="0x0100" ty
pe="Button">
<Parent guid="guidChangeMenuTextPackageCmdSet" id="MyMenuGroup" />
<Icon guid="guidImages" id="bmpPic1" />
<CommandFlag>TextChanges</CommandFlag>
<Strings>
<ButtonText>Invoke ChangeMenuText</ButtonText>
</Strings>
</Button>
3. 在ChangeMenuText.cs文件里创建一个菜单显示前会被调用的事件处理程序
private void OnBeforeQueryStatus(object sender, EventArgs e)
{
var myCommand = sender as OleMenuCommand;
if (null != myCommand)
{
myCommand.Text = "New Text";
}
}
在这里你也可以修改OleMenuCommand对象Visible,Checked和Enabled属性来改变菜单命令的 状
态。
4. 在ChangeMenuText的构造函数里替换原来的命令初始化代码,来创建一个代表菜单命令的
OleMenuCommand对象(而不是MenuCommand)。添加BeforeQueryStatus函数的事件处理并把
菜单命令送给menu command service服务。
现在的代码看起来是这样的
1
:
private ChangeMenuText(Package package)
{
1
MIAOW 注:原文里忽略了一些相关的代码,完整代码在配套源码里有。
思想假
- 粉丝: 28
- 资源: 326
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0