Как показать кнопку области формы на моей ленте в VSTO outlook C # - PullRequest
0 голосов
/ 08 июля 2019

Я создал форму, используя область формы, которая принимает пользовательский ввод, используя VSTO outlook C #. Кнопка, которая открывает эту форму, расположена рядом с кнопкой сообщения, как показано на рисунке:

Button service desk showed near message

Мне нужна эта кнопка на моей собственной ленте (например, MY DESK -> Service Desk), которую я уже разработал

Можно ли переместить эту кнопку на нужную ленту?

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Спасибо @ Евгений, твой ответ подсказал мне решить мою проблему

Сначала я открываю новое письмо с кодом:

Application oApp = Globals.ThisAddIn.Application;
        NameSpace oNs = oApp.GetNamespace("MAPI");
        MAPIFolder oInbox = oNs.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
        Items oItems = oInbox.Items;
        MailItem oForm = oItems.Add("IPM.Note");
        oForm.Display(false);

А потом вместо «GetInspector» я использовал «ActiveInspector ()» и установил его с именем моего класса

"oApp.ActiveInspector().SetCurrentFormPage("NameSpace.ClassName");"

Полный код нажатия кнопки:

private void btnOpenMailForm_Click(object sender, RibbonControlEventArgs e)
    {
        Application oApp = Globals.ThisAddIn.Application;
        NameSpace oNs = oApp.GetNamespace("MAPI");
        MAPIFolder oInbox = oNs.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
        Items oItems = oInbox.Items;
        MailItem oForm = oItems.Add("IPM.Note");
        oForm.Display(false);  
        oApp.ActiveInspector().SetCurrentFormPage("NameSpace.ClassName");
    }

Это открывает мою пользовательскую форму внешнего вида от нажатия кнопки ленты.

0 голосов
/ 08 июля 2019

Вы можете создать пользовательский интерфейс ленты в своей надстройке, где вы можете повторить встроенные элементы управления, указав их idMso.VSTO предоставляет два возможных способа настройки пользовательского интерфейса Fluent (пользовательского интерфейса ленты):

Для поиска идентификаторов элементов управления вы можете загрузить Файлы справки Office 2016: идентификаторы элементов управления пользовательского интерфейса Office Fluent .Кроме того, вы можете проверить их в Outlook, перейдя на страницу Customize ribbon и взглянув на всплывающие подсказки.

Кроме того, вы можете разместить собственный элемент управления ленты в любом месте и вызвать следующий код, чтобы отобразить ваш пользовательский интерфейс.:

myitem.GetInspector.SetCurrentFormPage("Namespace.FormRegionClass")

Имя, используемое в SetCurrentFormPage , должно быть полным именем класса для вашего пользовательского региона.

...