2012-01-20 2 views
0

Я пишу надстройку для OutLook 2007 с помощью vb.net 2010; надстройка помещает новую панель инструментов & в OutlookUI. Один из них открывает форму ВИДЕО.Может ли модально открытая форма (т. Е. Метод form.ShowDialog) прослушивать события на базовой форме/надстройке, которая называется?

Тем не менее, класс «ThisAddin», который загружается в Outlook, имеет номер переменной Outlook, обозначаемый «WithEvents», например. для просмотра элементов, добавленных/удаленных из папок Outlook.

Если я использую form.show вместо form.showdialog, я могу обновить отображаемую форму информацией из событий, возникающих в классе ThisAddin, без проблем. Проблема только в том, что я открываю form.ShowDialog(), где все зависает, пока я не закрою форму.

Это действительно помогло бы, если бы я смог ОБРАТИТЬ свою форму для ответа на события и отобразить ее в соответствии с основным интерфейсом Outlook 2007.

Заранее благодарим любую помощь, которую любой из вас может предоставить.

Джим

+0

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

+0

спасибо за это. действительно ли нет способа, например, использовать разные потоки? Сам Outlook по-прежнему работает (например, входящие сообщения по-прежнему принимаются с открытым модальным диалогом). Если нет, я знаю свойство TopMost, с которым я мог бы работать. То, что я действительно пытаюсь сделать, это либо показать форму (если она не открыта), либо обновить форму (если она есть) в каждом событии Items.ItemAdd, которое возникает, когда несколько элементов перемещаются/удаляются в папку Outlook. Еще раз спасибо. – user1161274

ответ

1

This статья точно объясняет, как открыть модальную форму/диалог с использованием ShowDialog на нитку отдельно от той, на которой основное приложение/UI выполняется, и все же реагировать на события на этом главном App/Пользовательский интерфейс.

Смежные вопросы