這裏通話結束後,Ribbon界面是我的情景:刷新從宏觀的Excel表
- 我有,我在一個VSTO項目已經導入宏老的Excel項目。
- 我設計了一個自定義功能區(
startFromScratch = true
),使它看起來像一個獨裁者應用程序。 - 我還是想用現有的宏代碼,因爲它會花費太多時間在C#代碼轉換所有VBA代碼
- 我有一個標有
[ComVisible(true)]
屬性,以便我可以調用從VSTO方法的類vba代碼。
問題是我無法隱藏選項卡,我無法獲取功能區刷新。我可以更改其他控件的狀態(例如,爲CheckBox設置選中狀態),但我無法隱藏或禁用我的自定義選項卡。
我已經試過PerformLayout()
,PerformDynamicLayout()
在功能區,ribbon.RibbonUI.Invalidate()
,但沒有任何工程,標籤永遠不會改變的狀態,雖然在代碼中,我設置其Visible屬性爲false
。
爲了在運行時刷新功能區,我需要做些什麼?
編輯:
我只是出口色帶XML嘗試同樣的事情和Invalidate()
方法按預期工作。有沒有什麼辦法可以用可視化編輯器設計的功能區來實現這一點?
你可以發佈一些代碼,顯示如何設置選項卡的'可見'屬性爲'false'? –
好吧,該選項卡是一個RibbonTab控件,所以我只是將其Visible屬性設置爲false(myTab.Visible = false)。設置它沒有問題,如果我正在調試,我可以看到該屬性設置爲false,問題是功能區本身不會刷新。 如果我使用xml功能區,我可以調用它的Invalidate()方法,但是對於功能區設計器沒有這種方法。 – Adrian