#c# #outlook-addin
#c# #outlook-добавление
Вопрос:
У меня есть пользовательская вкладка ленты Outlook 2010, которая имеет тип Microsoft.Outlook.Встреча.
На этой вкладке у меня есть несколько кнопок, которые изменяют текущий элемент назначения и вызывают его 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());
}
У меня это не работает. Кто-нибудь может сказать мне, что я делаю не так?
Спасибо.
Комментарии:
1. Вы нашли решение? У меня тоже возникла эта проблема.
Ответ №1:
Это то, что я использую в своем событии загрузки:
ThisRibbonCollection ribbonCollection = Globals.Ribbons[_inspector];
ribbonCollection.RibbonSMS.RibbonUI.ActivateTab("the_name_of_the_ribbon_tab");
И это соответствовало бы тому, что я вижу в вашем коде:
this.RibbonUI.ActivateTab(this.Tabs[0].ControlId.ToString());
Этот код хорошо срабатывает в событии загрузки, но я протестировал его, и он не работает, когда вы вызываете его из функции. Пожалуйста, попробуйте переместить ее в событие загрузки, и вы увидите, что код работает. Я предполагаю, что это не работает должным образом из метода, а просто формирует событие загрузки.
Удачи