我正在尝试更改我创建的RibbonTab对象的KeyTip属性。当我在Excel中运行我的插件时,它显示KeyTip是“X”而不是“JJJ”。
如果我在“属性”窗口中将其更改为“JJJ”,它可以正常工作,但我想了解为什么我不能这样改变它。
我需要做什么才能将RibbonTab.KeyTip属性加载为“JJJ”?
(仅供参考,这是我的第一个项目,所以我还在学习)
谢谢,
Imports Microsoft.Office.Tools.Ribbon
Public Class Ribbon1
Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
tabRibbon1.KeyTip = "JJJ"
End Sub
答案 0 :(得分:1)
Fluent UI(又名Ribbon UI)从诞生开始就是一个静态的东西。当您的加载项返回UI标记(由功能区设计器生成或仅是原始XML标记)时,您可以在启动时仅设置keytip
属性一次。
此外,您可以考虑使用允许动态评估键盘快捷键的getKeyTip
回调。 IRibbonUI
接口的Invalidate方法使Ribbon用户界面的所有控件的缓存值无效。您可以使用COM加载项中的回调过程自定义功能区UI。对于加载项实现的每个回调,响应都被缓存。例如,如果加载项编写器为按钮实现getImage
回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像而不是调用程序,流程。此过程保持原位,直到加载项通过使用Invalidate
方法表示缓存值无效,此时,再次调用回调过程并缓存返回响应。然后,加载项可以通过调用Refresh
方法强制立即更新UI。例如:
Dim MyRibbon As IRibbonUI
Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub
Sub myFunction()
MyRibbon.Invalidate() ‘ Invalidates the caches of all of this add-in’s controls
End Sub
您可能还会发现IRibbonUI
界面的InvalidateControl方法很有帮助。它使Ribbon用户界面上的单个控件的缓存值无效。
在以下系列文章中阅读有关Ribbon UI的更多信息:
和