Надстройка Outlook и область пользовательских форм: как они общаются? - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть два частичных класса в одном пространстве имен для моей надстройки Outlook.Один для пользовательской области формы, а другой для самого надстройки.Как я могу позволить этим двум классам обмениваться данными?В частности, ThisAddIn необходимо получить некоторую информацию от FormRegion1.

// ThisAddIn.cs
namespace My_AddIn {
    public partial class ThisAddIn {

и

// FormRegion1.cs
namespace My_AddIn {
    partial class FormRegion1 {

Я предполагаю, что мой вопрос действительно заключается в том, как получить инспектор для FormRegion1 из ThisAddIn.Я пробовал подобные вещи в методе обработчика событий Inspectors_NewInspector класса ThisAddIn:

Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
if (mailItem != null) {
    Outlook.Pages page = mailItem.GetInspector.ModifiedFormPages as Outlook.Pages;
    // previous line causes unhandled COMException error ("the operation failed")

и

Outlook.Pages page = Application.GetInspectors[mailItem].ModifiedFormPages["FormRegion1"];
// previous line causes unhandled COMException error ("type mismatch")

Кто-нибудь знает, как правильно обращаться к FormRegion1?

1 Ответ

1 голос
/ 04 февраля 2011

Я не смог найти событие, чей обработчик позволил ThisAddIn получить ссылку на FormRegion1 (все, что я обнаружил, сработало до того, как был создан экземпляр FormRegion1). В итоге я использовал singleton, чтобы дать ThisAddIn ссылку на каждый экземпляр FormRegion1.

...