当前位置: 首页 > 编程语言 > C#

如何让窗体成为最顶层应用?分享

时间:2023-04-10 23:21:34 C#

表单最顶层应用的制作方法?我正在制作一个excel加载项,单击菜单项或工具栏按钮会打开一个表单。我已将窗体的topmost设置为true,但它仍然是windowsxp所有应用程序的topmost。我只需要保持最先进的MicrosoftExcel。我在Excel->2003中选择了VisualStudio2008中的项目。请告诉我如何以任何方式执行此操作........您可以将表单的所有者设置为MicrosoftExcel窗口。在Windows中,拥有的窗口始终显示在其所有者之上。Excel中的对话框和搜索框之类的东西是拥有的窗口,这使得它们显示在它们的所有者之上。您可以通过多种方式设置窗体的父级:Form.Owner属性(尽管所有者必须是另一个窗体)使用Form.Show(IWin32Window所有者)重载。(有关如何将窗口句柄转换为IWin32Window的信息,请参阅此博客文章)。使用带有GWLP_HWNDPARENT参数的SetWindowLong()。按照MikaelSvenson的建议使用ShowDialog()。这确实需要您了解Excel应用程序窗口句柄。[编辑-更改代码]以上是C#学习教程:Howtomakeaformtopmostapplication?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——[DllImport("user32.dll",SetLastError=true)]staticexternIntPtrSetParent(IntPtrhWndChild,IntPtrhWndNewParent);voidfunc(){Form1f=newForm1();SetParent(f.Handle,(IntPtr)ThisAddIn.ExcelApplication.Hwnd);f.Show();}本文收集自网络,不代表立场,如有侵权请点右联系管理员删除。如需转载请注明出处: