2011-12-14 65 views
1

我有用VSTO創建的Outlook加載項。使用功能區設計器我創建了一個帶有三個按鈕的選項卡。 (環境:Outlook 2010,.NET 4.0,VSTO最新運行時間如何啓用/禁用Outlook中的功能區按鈕

當按下其中一個按鈕時,會打開一個無模式對話框。只要用戶正在使用此對話框,我不希望他再次按下按鈕。所以基本上我想灰化按鈕,直到對話框關閉。我怎樣才能做到這一點?

無論出於何種原因,在按鈕點擊處理程序中,如果我做this.button1.enabled = false;它只是不起作用。我是否錯過了絲帶工作方式?

感謝

回答

1

您需要重新渲染使用IRibbonUI.InvalidateControl(controlID)IRibbonUI.Invalidate()控制。請參閱MDSN關於如何dynamically update the Fluent UI以供參考。這是出於性能原因而完成的,以便您可以更改所有Fluent UI設置,然後一次重新渲染所有控件更改。但是,如果您只更改一個UI元素(,因爲您指示),這可能看起來很混亂和不必要。