我正在制作 Excel 插件,其中单击菜单项或工具栏按钮,打开表单。我已将窗体的最顶层设置为 true,但它仍然是 Windows XP 的所有应用程序的最顶层。我只需要保持 Microsoft Excel 的最高位置即可。
我在 Visual Studio 2008 中选择了项目,在 Excel -> 2003 中。
请告诉我如何以任何方式做到这一点......
您可以将表单的所有者设置为 Microsoft Excel 窗口。在 Windows 中拥有的窗户 http://msdn.microsoft.com/en-us/library/ms632599%28VS.85%29.aspx#owned_windows始终显示在其所有者上方。对话框和 Excel 中的搜索框等内容都是自有窗口,这使得它们显示在其所有者上方。
有几种方法可以设置表单的父级:
- The 表单所有者 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.owner%28v=VS.90%29.aspx财产(尽管所有者必须是另一种形式)
- Use the Form.Show(IWin32Window 所有者) http://msdn.microsoft.com/en-us/library/szcefbbd%28v=VS.90%29.aspx超载。 (看这个博客文章 http://ryanfarley.com/blog/archive/2004/03/23/465.aspx了解如何将窗口句柄转换为 IWin32Window)。
- Use 设置窗口长() http://msdn.microsoft.com/en-us/library/ms633591%28VS.85%29.aspx使用 GWLP_HWNDPARENT 参数。
- Use 显示对话框() http://msdn.microsoft.com/en-us/library/system.windows.forms.form.showdialog%28v=VS.90%29.aspx正如米凯尔·斯文森建议的那样。
这确实需要您知道 Excel 应用程序窗口句柄。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)