c# – 如何使表单最顶层的应用程序?

c# – 如何使表单最顶层的应用程序?,第1张

概述我正在制作excel加载项,其中单击菜单项或工具栏按钮,表单已打开.我已将表单的最顶层设置为true,但它仍然是 windows xp的所有应用程序的最顶层.我只需要保持最顶级的Microsoft Excel. 我在Visual Studio 2008中选择了Excel中的项目 – > 2003. 请告诉我如何以任何方式做到这一点…….. 您可以将表单的所有者设置为Microsoft Excel窗 我正在制作excel加载项,其中单击菜单项或工具栏按钮,表单已打开.我已将表单的最顶层设置为true,但它仍然是 windows xp的所有应用程序的最顶层.我只需要保持最顶级的Microsoft Excel.

我在Visual Studio 2008中选择了Excel中的项目 – > 2003.

请告诉我如何以任何方式做到这一点……..

解决方法 您可以将表单的所有者设置为Microsoft Excel窗口.在 Windows owned windows中始终显示在其所有者上方.对话框和Excel中的搜索框之类的东西都是拥有的窗口,这使得它们显示在其所有者之上.

您可以通过以下几种方式设置表单的父级:

> Form.Owner财产(虽然所有者必须是另一种形式)
>使用Form.Show(IWin32Window owner)过载. (有关如何将窗口句柄转换为IWin32Window,请参阅此blog post).
>将SetWindowLong()与GWLP_HWNDPARENT参数一起使用.
>使用ShowDialog()作为Mikael svenson的建议.

这确实需要您了解Excel应用程序窗口句柄.

总结

以上是内存溢出为你收集整理的c# – 如何使表单最顶层的应用程序?全部内容,希望文章能够帮你解决c# – 如何使表单最顶层的应用程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1262679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存