2011-08-08 25 views
3

我們有一個MS字外接程序,它目前使用並重命名Word中的外接程序選項卡(至i-report)。 這樣做的問題是,如果客戶端安裝了其他插件,則來自其插件的色帶也會出現在i-report選項卡下。創建新的VSTO加載項選項卡而不是重命名

是否有一種簡單的方法來獨佔使用新標籤,而不是重命名加載項標籤?

在設計師的標籤的代碼如下所示:

 this.tabiReport = new Microsoft.Office.Tools.Ribbon.RibbonTab(); 
     this.tabiReport.SuspendLayout(); 

     this.tabiReport.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office; 
     this.tabiReport.Groups.Add(this.grpConnection);   
     resources.ApplyResources(this.tabiReport, "tabiReport"); 
     this.tabiReport.Name = "tabiReport"; 

編輯:我認爲這事做與Tabs集合,爲功能區的位置。我試圖將tabiReport的位置從默認更改爲BeforeOfficeId和AfterOfficeId,但隨後在調試時可以看到啓動時的加載項加載,但功能區上沒有選項卡。

我也嘗試過使用AfterOfficeId,然後用「TabView 」填充OfficeId字段,試圖讓它在查看標籤後顯示,但仍然不顯示。有任何想法嗎?

編輯2:好吧我已經想通了如何做到這一點:通過將ControlIdType屬性設置爲選項卡上的自定義,但我仍然有同樣的問題,它沒有顯示出來。

回答

5

解決方法是將ControlIdType設置爲自定義。

如果位置屬性設置爲默認,則該選項卡將顯示在列表中的最後一個位置。

要更改選項卡的位置,可以將PositionType更改爲BeforeOfficeId(或AfterOfficeId),然後使用您希望它出現在之前或之後(例如TabView)的選項卡的Id填充OfficeId。

辦公室標籤ID的全部列表可以發現here

+2

是啊,我終於找到這個解決方案以及。確保在設計器中選擇了RibbonTab,展開「ControlID」屬性,然後將「ControlIDType」從Office更改爲「自定義」。完全瘋狂......這只是VS2010中的糟糕設計。每個Addin都有自己的Tab,應該作爲標準。 –

+0

如果您使用RibbonXML,您將擁有更多的權力 – Tangocoder

相關問題