Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Win Form应用程序控件在最小化时间过长时变黑,应用程序锁定_.net_Winforms_.net 3.5 - Fatal编程技术网

.net Win Form应用程序控件在最小化时间过长时变黑,应用程序锁定

.net Win Form应用程序控件在最小化时间过长时变黑,应用程序锁定,.net,winforms,.net-3.5,.net,Winforms,.net 3.5,我有一个Windows窗体桌面CRUD应用程序。用户发现,如果它放置的时间过长,所有的控件都会变成黑色的填充框,并且会变得无响应 这是我的第一个大型应用程序,我甚至不知道从哪里开始。在网上搜索“黑盒子”并没有真正的成效 我做错了什么?我从哪里开始找?我的应用程序是一个表单,它根据用户在表单导航菜单中选择的内容,在主区域嵌入必要的用户控件 榜样;他们选择保险,并在ShellForm的主要内容区域中显示ucInsurance 想法是什么?我会很感激的。我尝试为Shell窗体和所有用户控件打开双缓冲区

我有一个Windows窗体桌面CRUD应用程序。用户发现,如果它放置的时间过长,所有的控件都会变成黑色的填充框,并且会变得无响应

这是我的第一个大型应用程序,我甚至不知道从哪里开始。在网上搜索“黑盒子”并没有真正的成效

我做错了什么?我从哪里开始找?我的应用程序是一个表单,它根据用户在表单导航菜单中选择的内容,在主区域嵌入必要的用户控件

榜样;他们选择保险,并在
ShellForm
的主要内容区域中显示
ucInsurance


想法是什么?我会很感激的。我尝试为Shell窗体和所有用户控件打开
双缓冲区
,但这似乎没有什么效果。

从查看您的窗体在Taskmgr.exe中的行为开始。单击“进程”选项卡,查看并选择列和勾号句柄、用户对象、GDI对象。如果进程的这些列中的任何一列不断增加,通常是由于忘记Dispose()而导致资源泄漏。GDI是您描述的最有可能的一个。当它达到10000时,这个节目就结束了。

我这样做了,在打开我的应用程序后,仅仅跳了5分钟,搜索并加载了几个人,我的统计数据是-->MemUsage=81000K,Handles=567,Threads=16,USERObjects=412,GDIObjects=301。这是不是很快就会引起如此高的关注?我会让它打开,稍后再报告我的发现。另外,我的应用程序的内存使用量在最小化时下降到4000K,然后在最大化时又下降到12000K,这是“正常”的吗?是的,这是正常的。当进程的主窗口最小化时,Windows会主动修剪进程的工作集。不要注意记忆。请尝试重新处理客户的问题,因为忘记调用Dispose(),所以不会触发垃圾收集的空闲表单将与泄漏相关联。谢谢,我不知道这一点。我现在就不去管它了。幸运的是,这只是一个内部应用程序,它仍处于测试阶段!