gpt4 book ai didi

wpf - 如何将 WPF 窗口添加到 WinForms 应用程序

转载 作者:行者123 更新时间:2023-12-04 12:14:27 25 4
gpt4 key购买 nike

我正在创建一个 HUD 窗口,用于检查我的 WinForms 应用程序中的 biz 实体。

我想要一个完全不同的窗口风格(最小化内容区域并只显示标题栏,不显示系统按钮等),所以我为此创建了一个 WPF 应用程序。

问题是我希望这个窗口“存在”在我的 WinForms 应用程序中。我不能只是将 WPF 添加为 OwnedForm 或将主窗体设置为 WPF 窗口的所有者。

那么,如何才能做到这一点呢?

编辑:感谢 pst 我找到了答案。这是片段:

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(_inspector);
WindowInteropHelper inspectorHelper = new WindowInteropHelper(_inspector);
inspectorHelper.Owner = this.Handle;
_inspector.Show();

最佳答案

WPF 窗口具有 Win32 窗口句柄/上下文。

WindowInteropHelper .您可以将它与 Win32(或者可能有 WinForms 支持?)一起使用来设置 WPF 窗口的所有者窗口。请注意,在“源初始化”(?) 事件之前,句柄不存在。

但是,仅使用 WinForms,您可能可以根据需要自定义标题栏(您可以通过 Win32 覆盖绘图本身,我认为您会失去所有控制框,而不会走这么远)。

如果您使用正确的关键字,就会有很多关于此主题的谷歌搜索结果。

关于wpf - 如何将 WPF 窗口添加到 WinForms 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com