2011-05-29 93 views
0

我有一个具有Microsoft.Outlook.Appointment类型的自定义Outlook 2010功能区选项卡。如何关注Outlook 2010自定义功能区选项卡

在该选项卡中,我有几个按钮用于更改当前的预约项目,并调用其Save方法。但是,该方法始终将焦点更改为检查员的第一个选项卡。我想让焦点留在我的自定义选项卡上。

这里是我当前的代码:

private void ButtonSaveAppointment(object sender, RibbonControlEventArgs e) 
{ 
    Outlook.Inspector inspector = (Outlook.Inspector)this.Context; 
    Outlook.AppointmentItem appointment = (Outlook.AppointmentItem)inspector.CurrentItem; 

    appointment.Save(); 
    this.RibbonUI.ActivateTab(this.Tabs[0].ControlId.ToString()); 
} 

这并不为我工作。谁能告诉我我做错了什么? 谢谢。

+0

您是否找到了解决方案?我也有这个问题。 – kavun 2011-07-14 18:35:26

回答

0

这是我在负载情况下使用:

ThisRibbonCollection ribbonCollection = Globals.Ribbons[_inspector]; 
ribbonCollection.RibbonSMS.RibbonUI.ActivateTab("the_name_of_the_ribbon_tab"); 

这将符合我在你的代码中看到:

this.RibbonUI.ActivateTab(this.Tabs[0].ControlId.ToString()); 

该代码在加载事件中启动良好,但是我测试了它,并且在从函数调用它时不起作用。请尝试将其移至加载事件中,您将看到该代码正常工作。我的猜测是,它不能从一个方法正常工作,但只是形成加载事件。

祝您好运