VSTO功能区 、右键快捷菜单(XML)中使用自定义图片

1、添加自定义资源图片

在visual studio中右键项目,选择属性,在资源选项卡中添加本地图片或自己画一张图片,注意名称(ID)和文件名是可以不同的。

2、XML文件中使用自定义图片

<customUI>标签中使用属性loadImage="GetImage",以调用GetImage方法来获取资源图片;在控件标签中使用image="ID"属性,属性值为图片ID

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load" loadImage="GetImage">
	<ribbon>
		<tabs>
			<tab id="TabXpocket" label="Xpocket">
				<group id="GroupXpocket" label="财务工具" >
					<toggleButton id="RmbUpper" label="RMB大写" onAction="toggleButton_RmbUpper_Click" image="RmbUpper" size="large"/>
				</group>
			</tab>
		</tabs>
	</ribbon>
	
	<contextMenus>
		<contextMenu idMso="ContextMenuText">
			<button id="RmbUpper1" label="RMB大写" onAction="button_RmbUpper_Click" image="RmbUpper" insertBeforeMso="Cut"/>
		</contextMenu>
		<contextMenu idMso="ContextMenuField">
			<button id="RmbUpper2" label="RMB大写" onAction="button_RmbUpper_Click" image="RmbUpper" insertBeforeMso="Cut"/>
		</contextMenu>
	</contextMenus>
</customUI>
3、编写GetImage方法

在功能区类Ribbon1.cs中编写GetImage方法。

public System.Drawing.Image GetImage(string imageName)
{
    return (System.Drawing.Image)Properties.Resources.ResourceManager.GetObject(imageName);
}

VSTO (Visual Studio Tools for Office) 中,如果你想要为你的Ribbon添加右键菜单,通过Visual Studio 2022的功能区可视化设计器可能无法直接支持。实际上,VSTO默认的设计器倾向于操作UI的主要部分,而右键菜单通常需要在代码层面进行定制。 你可以选择以下方法来实现这个功能: 1. **代码编写**: - 打开`ThisAddIn.cs` 或 `ThisAddIn.vb` 文件,这是VSTO项目的基本入口点。 - 使用Microsoft.Office.Core命名空间下的`ContextMenu`或`CommandBarPopup`类,手动创建一个右键菜单,并添加你需要的命令项。 - 需要在`Office的应用程序启动事件`(如`Startup`或`DocumentOpened`)中注册这个菜单。 ```csharp private void ThisAddIn_Startup(object sender, System.EventArgs e) { Microsoft.Office.Core.CommandBarPopup contextMenu = new CommandBarPopup(); // 添加菜单... contextMenu.Visible = true; Application.CommandBars["CustomTab"].Controls.Add(contextMenu); } ``` 2. **XML编程**: 如果你熟悉XML,可以考虑在`.vsto`文件(例如`CustomUI.xml`) 中手工编辑,添加`<customUI>`元素,包括`<menu>`标签来定义菜单结构,然后自定义每个`<button>`的`onAction`属性关联相应的代码。 请注意,虽然设计视图可能不够直观,但在VSTO中,特别是对于复杂交互,编写代码通常是更灵活和可控的方式。如果你选择这种方法,记得在项目完成后测试一下右键点击的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值