Как сосредоточить внимание на пользовательской вкладке ленты Outlook 2010 - PullRequest
0 голосов
/ 30 мая 2011

У меня есть настраиваемая вкладка ленты 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 ]

1 голос
/ 14 июля 2011
0 голосов
/ 15 декабря 2011

Это то, что я использую в моем событии загрузки:

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

И это будет соответствовать тому, что я вижу в вашем коде:

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

Этот код хорошо срабатывает в нагрузкесобытие, но я проверил его, и он не работает, когда вы вызываете его из функции.Пожалуйста, попробуйте переместить его в событие загрузки, и вы увидите, что код работает.Я предполагаю, что он не работает должным образом из метода, а просто формирует событие загрузки.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...