首页 > 智能设备 > 正文

创建窗口句柄时出错的解决办法

智能设备 时间:2024-10-15 09:01:53

C#程序调用Form.Show报“创建窗口句柄出错

1. 1、发现问题。程序主窗口(称为A)是一个Mdi窗口,先打开一个子窗口B,将其最大化,然后再从子窗口B中打开一个子窗口C,C的父窗口是A,将C最大化,然后调用C.Show()。这时候报错,错误信息为:创建窗口句柄时出错。

2. 寻找原因1。我们的代码都是由SVN进行管理的,通过查找提交记录,发现出问题之前,最后一次提交的改动是B窗口中添加了DEV的布局控件LayoutControl,加了这个控件之后,就会出现第一节中的问题。将这个布局控件去掉之后,就不会出现报错信息了。但是这两者之间到底有什么关系,还是一头雾水。

3. 尝试的解决方法1。进行测试,发现如果B窗口不设置MdiParent属性,就可以正常打开。

4. 尝试的解决方法2。再次进行测试,发现如果B窗口是正常大小(WindowState=Normal),最大化打开C窗口就不会报错。

郑重声明:图文由自媒体作者发布,我们尊重原作版权,但因数量庞大无法逐一核实,图片与文字所有方如有疑问可与我们联系,核实后我们将予以删除。