2017-05-07 41 views
0

我正在嘗試更改我創建的RibbonTab對象的KeyTip屬性。當我在Excel中運行我的插件時,它顯示KeyTip是「X」而不是「JJJ」。如何更改VSTO AddIn功能區的KeyTip屬性?

如果我在屬性窗口中將其更改爲「JJJ」,它工作正常,但我想了解爲什麼我無法以這種方式更改它。

我需要做些什麼才能使RibbonTab.KeyTip屬性加載爲「JJJ」?

(FYI這是我的第一個項目,所以我仍然在學習)

感謝,

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 

回答

1

流暢的UI(又名的Ribbon UI)是從它誕生一成不變的。當插件返回UI標記(由Ribbon設計器生成或僅包含原始XML標記)時,您可以在啓動時僅設置keytip屬性一次。

此外,您可能會考慮使用getKeyTip回調,它允許動態評估鍵盤快捷鍵。 IRibbonUI接口的Invalidate方法使Ribbon用戶界面的所有控件的緩存值無效。您可以通過在COM加載項中使用回調過程來自定義功能區UI。對於加載項實現的每個回調,都會緩存響應。例如,如果一個外接作家實現了getImage回調過程的一個按鈕,該函數被調用一次,加載圖像,然後如果圖像需要更新,緩存圖像用於召回的程序,而不是。這個過程仍然在原地,直到外接信號的緩存值是通過使用Invalidate方法無效,此時,回調過程再次調用和返回響應緩存。然後加載可以通過調用Refresh方法迫使用戶界面的即時更新。例如:

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 UI的有以下系列文章:

+0

這是一個偉大的答案。非常感謝你的幫助! – Ben

相關問題