jps*_*res 7 wpf winforms-interop winforms
我正在创建一个HUD窗口,用于检查WinForms应用程序中的商业实体.
我希望有一个完全不同的窗口样式(最小化内容区域,只显示TitleBar,没有系统按钮等)所以我为此创建了一个WPF应用程序.
问题是我希望这个窗口在我的WinForms应用程序中"生存".我不能只是将WPF添加为OwnedForm或将主窗体设置为WPF窗口的所有者.
那么,怎么能实现呢?
编辑:感谢pst我找到了答案.这是片段:
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(_inspector);
WindowInteropHelper inspectorHelper = new WindowInteropHelper(_inspector);
inspectorHelper.Owner = this.Handle;
_inspector.Show();
Run Code Online (Sandbox Code Playgroud)
小智 6
WPF窗口具有Win32窗口句柄/上下文.
请参见WindowInteropHelper.你可以使用Win32(或者可能有WinForms支持吗?)来设置WPF窗口的所有者窗口.请注意,在"源初始化"(?)事件之前,句柄不存在.
但是,仅使用WinForms,您可以根据需要自定义标题栏(您可以通过Win32覆盖绘图本身,我认为您将失去所有控制框而不会走这么远).
如果您使用正确的关键字,则有很多关于此主题的Google搜索结果.
归档时间: |
|
查看次数: |
2532 次 |
最近记录: |