4

我有一个从用 VSTO 编写的 excel 插件生成的表单。我希望表单始终保持在 excel 电子表格上方,但仍允许用户与其下方的工作表进行交互。

表单构造函数包括this.TopLevel = true;,但是当我选择一个单元格时,表单仍然消失在电子表格后面。

有没有其他人遇到过这个问题并找到了解决方法?

4

2 回答 2

4

表单已将 TopLevel 设置为 true。你想要TopMost。

P/Invoking SetParent() 是最好的,但获得所需的窗口句柄可能并不容易。也许 Process.GetCurrentProcess().MainWindowHandle

于 2010-06-25T17:48:16.407 回答
0

如果你想在 Excel 中有一个交互式表单,你需要像 Hans 在原始答案中所说的那样做一些 pinvoking。看到这个链接 -在 MSDN

此示例适用于 refedit 控件(通常仅可从 VBA 获得)。该示例应该为您提供有关 IWin32Window 和 pinvoking 的必要信息,以使用此参数值调用表单对象的 Show 方法。

于 2010-09-10T01:41:06.357 回答