C# WPF中引用第三方winform窗口问题

时间:2021-12-19 16:10:12
    本人是新手,有个问题求助各位大侠:
    编程目标:WPF为主窗口,winform为第三方子窗口(.dll,有代码,可重新编译),希望当调用winform时,主窗口隐藏,当winform结束时,主窗口显示。
    尝试过的方法:
    1.直接将winform的Owner设置为WPF窗口,此路不通;
    2.调用win32API中的SetParent函数,可以设置窗口的父子关系,但winform内嵌到WPF主窗口中,不是我需要的;
    3.尝试将主窗口的句柄作为参数传递到winform中,然后在winform关闭时中调用win32API中的ShowWindow函数显示主窗口,结果主窗口是显示出来了,但是全黑。
    4.现在暂时是采用winform.ShowDialog()方法,主窗口虽然不能隐藏,但是不能操作。
     请教:怎样实现我想要的编程结果?

3 个解决方案

#1


你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

#2


引用 1 楼 u011182647 的回复:
你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

我这样做过,主窗口打开后外框还在,但里面没内容了,整个全黑。

#3


引用 1 楼 u011182647 的回复:
你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

  谢谢!按您说的方法解决了问题。

#1


你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

#2


引用 1 楼 u011182647 的回复:
你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

我这样做过,主窗口打开后外框还在,但里面没内容了,整个全黑。

#3


引用 1 楼 u011182647 的回复:
你ShowDialog窗口的时候把你的主窗体hide 然后等窗口关闭的时候打开不就可以了  ShowDialog可以返回值知道窗口是否已经关闭了

  谢谢!按您说的方法解决了问题。