Revit Winform显示在Revit上层
仅提供中文版本
引用文章:《BuilderCoder Revit Parent Window 》
当我们使用模态窗体时,当焦点不在窗体上时,窗体会隐藏在所有层级后方,如果遇到不熟悉的用户会不停点击按钮,从而生成多个窗体。并且对于单一窗体的交互也不友好。
在网站中搜索,经常会告诉大家设置TopMost但是这一操作会把窗体设置为最顶层,当我们使用其他应用程序,如:浏览器。窗体依旧显示在最上层不符合交互逻辑。
通过设置IWin32Window将Revit设置为窗体的父窗体,但是我们通过
1 | var rvtPtr = Process.GetCurrentProcess().MainWindowHandle; |
仅可以获得他的焦点,此时我们需要继承IWin32Window创建一个类,最后应用于Show()的函数中
1 | public class WindowHandle:IWin32Window |
赋值:
1 | var rvtPtr = Process.GetCurrentProcess().MainWindowHandle; |
最终实现,点击Reivt时,隐藏于后方的窗体将会显示出来,并跟随Revit的进程自当关闭
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.




