我在與約會窗口關聯的自定義功能區中有一個按鈕,該按鈕在運行後被禁用,並且修復了新窗口的打開。在自定義功能區Outlook中啓用禁用按鈕
目前我寫了下面的代碼禁用了按鈕。
public bool active = true;
public bool GetEnabled(Office.IRibbonControl control)
{
return active;
}
public void OnAddLinktButton(Office.IRibbonControl control)
{
try
{
active = false;
var inspec = this.Application.ActiveInspector().CurrentItem;
if (inspec is Outlook.AppointmentItem)
{
ribbon.InvalidateControl(control.Id);
Appointment_Value gapp = new Appointment_Value(true, inspec);
gapp.Show();
}
}
catch (Exception ex)
{
Logger.Info("The following error occurred: " + ex.Message);
}
}
我不能這樣做,使開放。對於現在的代碼,每一個想法或修正都是受歡迎的。
謝謝你的答案,但我不明白你的建議。如果您的意思是在Inizialize函數中使用Invalidate,那麼在C#中它應該是Ribbon_load,我已經嘗試設置action = true並調用MyRibbon.Invalidate()。但不起作用 – FeroX
是否調用了GetEnabled回調?您是否嘗試調試代碼? –
如果我以一種通用的方式詢問我,如果我已經調試過了,我只能回答是,但當然這取決於您期望我在調試過程中進行了搜索。據我所知,GetEnabled是允許我設置按鈕屬性getEnabled的值的回調函數。我寫的是被調用的函數,調用它的過程隱含在框架中,我不深入瞭解他的步驟。 – FeroX