За окном нового почтового окна открывается диалоговое окно «Добавить категорию в Outlook 2003». - PullRequest
0 голосов
/ 30 марта 2011


Я создал надстройку C # для Outlook 2003. Надстройка создает панель команд в новой почтовой форме.Эта командная строка содержит кнопку, которая открывает диалоговое окно «Категоризация».Для открытия диалога я использую метод ShowCategoriesDialog интерфейса MailItem.

Microsoft.Office.Interop.Outlook.MailItem item = (MailItem)inspector.CurrentItem;
item.ShowCategoriesDialog();

Работает нормально, но на нескольких машинах открывается окно категоризации за окном новой почты.

Знаете, как это исправить?

СпасибоВам очень нравится,
Андрей Козачук

1 Ответ

0 голосов
/ 31 марта 2011

Два способа я могу думать не по себе.

1) попробуйте некоторую комбинацию минимизации и восстановления Инспектора, на который у вас есть ссылка (Inspector.WindowState), возможно min, restore, showcat или min / showcat / restore Не очень хорошее решение, потому что оно может вызвать перепрошивку. 2) если вы делаете это из события, которое вызывает показ инспектора, вы, возможно, не дадите инспектору полностью осуществиться. В этом случае используйте таймер или фоновый поток, чтобы немного задержать показ окна кота (хотя это немного хакерски). 3) используйте Windows API EnumWindows, чтобы найти окно категорий, и используйте SetWindowPos, чтобы вернуть его к вершине zorder. (вероятно, лучшее решение).

Я много раз сталкивался с такой проблемой в Outlook, но не с ее конкретным экземпляром.

...