如何关注Outlook 2010自定义功能区选项卡

时间:2011-05-29 20:37:43

标签: c# outlook-addin

我有一个自定义的Outlook 2010功能区选项卡,其类型为Microsoft.Outlook.Appointment。

在该选项卡中,我有几个按钮可以更改当前约会项目,并调用其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());
}

这对我不起作用。谁能告诉我我做错了什么? 谢谢。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

这是我在加载事件中使用的内容:

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

这与我在你的代码中看到的相对应:

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

该代码在load事件中触发良好,但我测试了它,当你从函数调用它时它不起作用。请尝试将其移动到加载事件,您将看到代码有效。我的猜测是它从方法中无法正常工作,只是形成了加载事件。

祝你好运