SetParent 装载的窗体 会保留在进程中 如果程序运行中出错,包括更新,查询.... 出错, 该如何卸载窗体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SetParent 装载的窗体 会保留在进程中 如果程序运行中出错,包括更新,查询.... 出错, 该如何卸载窗体相关的知识,希望对你有一定的参考价值。

SetParent cons_bank.hwnd, cons.hwnd
cons_bank.show
如果直接退出cons ,那进程还在里面????

参考技术A 用SendMessage hwnd%, WM_CLOSE, 0, 0
关闭就是了追问

不好意思,没用过这个,问一下,在什么状态下,用这个,窗体登陆的时候,来判断进程

追答

已知句柄的时候用这个可以直接关闭

追问

如果程序运行中出错,包括更新,查询.... 出错,退出了 ,进程还在里面

关于WinForm 中 调用SetParent这个API的问题

现在有两个窗口。Form1 和Form2 调用SetParent把Form2的父窗口置为Form1之后,Form2就被嵌套在Form1里面了。我现在就想知道怎么做才能让Form2不会被嵌套在Form1里,但是又必须保证Form2的父窗口是Form1

解决方法1,这个用api setparent实现,不要用mdiparent 解决方法2,在显示子窗体时候吧父窗体的控件隐藏 解决方法3,将父窗体的控件都放在一个容器里面(如:panel)然后将panel的dock设置靠边(left)那么mdi子窗体出来的时候就是和这些控件并排的,不会谁覆盖谁了追问

本来就是用API的
不是要让子窗体嵌套在父窗口内。
我的目的是SetParent之后子窗体仍然在父窗体外面,不要嵌套

参考技术A 一般API是用的SetParent函数,但是MFC和.net不是一个体系,只怕内部交融肯定不行,至少焦点是个问题追问

我现在也是怀疑winform内部对子窗体统一做了嵌套处理 不允许出现在外面

以上是关于SetParent 装载的窗体 会保留在进程中 如果程序运行中出错,包括更新,查询.... 出错, 该如何卸载窗体的主要内容,如果未能解决你的问题,请参考以下文章

关于WinForm 中 调用SetParent这个API的问题

C# winform 点击一个按钮退出窗体 并关闭相应的进程

vb 将一个程序通过句柄设为了另一个程序的子窗体后句柄发生改变 如何获取该程序在父窗体的新句柄?

vb窗体中的resize是啥事件?

窗体装载窗体

如何获取窗体中组件的句柄