将窗体设置为窗口的所有者

时间:2015-09-21 17:55:56

标签: c# .net wpf windows winforms

我有一个围绕System.Windows.Forms.Form构建的主应用程序有一个用户可以调用的遗留System.Windows.Window,它被设置为Topmost。我希望Window由主应用程序拥有,因此它将最小化应用程序的最小化。 所以我的预期代码是

TopmostDisplayWindow.Owner = MainAppForm;

但是,没有Window.Owner方法采用Form和Window没有覆盖所有者的Show()。

是否有一种简单的方法可以获得MainAppForm的窗口,还是需要更复杂的东西?

1 个答案:

答案 0 :(得分:5)

您可以使用WindowInteropHelper并设置wcslen()属性:

Owner

在主表单中使用Winform var window = new YourWPFWindow(); WindowInteropHelper helper = new WindowInteropHelper(window); helper.Owner = this.Handle; window.Show(); 上面的代码。 当您想要显示WPF窗口时,请务必添加必需的引用:FormPresentationCodePresentationFramework