Windows Forms выше Excel - PullRequest
       25

Windows Forms выше Excel

4 голосов
/ 25 июня 2010

У меня есть форма, которая появляется из надстройки Excel, написанной с VSTO. Мне бы хотелось, чтобы форма всегда оставалась над таблицей Excel, но при этом позволяла пользователю взаимодействовать с таблицей под ней.

Конструктор форм включает в себя this.TopLevel = true;, но форма все еще исчезает за электронной таблицей, когда я выбираю ячейку.

Кто-нибудь еще сталкивался с этой проблемой и нашел обходной путь?

Ответы [ 2 ]

4 голосов
/ 25 июня 2010

Форма уже имеет TopLevel, установленный в true.Вы хотите, чтобы TopMost.

P / Invoking SetParent () был бы лучшим, но получить нужный дескриптор окна не так просто.Возможно Process.GetCurrentProcess (). MainWindowHandle

0 голосов
/ 10 сентября 2010

если вы хотите иметь интерактивную форму в Excel, вам нужно будет выполнить некоторые операции, как сказал Ганс в первоначальном ответе. см. эту ссылку - на MSDN

Этот пример относится к элементу управления reedit (который обычно доступен только в VBA). В этом примере должна быть предоставлена ​​необходимая информация о IWin32Window и pinvoking для вызова метода Show объекта формы со значением этого параметра.

...