2 b330559051 b330559051 于 2015.06.09 15:43 提问

C#界面运行起来切换 之后部分控件消失,变成空白
c#

C#做界面,系统运行一段时间后,最大化,或者最小化几次,或者切换到其他程序后再切换回来,界面上有的控件会不见了,变成空白,然而界面并没有卡死,,是什么原因引起的呢?

5个回答

91program
91program   Ds   Rxr 2015.06.09 17:02

C#做的界面,的意思是什么标准的控件吗?如果是,这些控件在界面切换后默认都有自动的处理。
如果是你自己绘制的界面,则要查一查绘制的过程,可能有 GDI 对象内存泄露的问题。

b330559051
b330559051 chart图表控件
2 年多之前 回复
b330559051
b330559051 就是标准控件,有比较多的panel,还有界面定时器,刷新chat,还有tableLayoutPanel,切换几次后,chat控件会消失,还有按钮会消失,就是一片空白,像没有控件一样
2 年多之前 回复
qq_16168871
qq_16168871   2015.06.09 16:32

也许是电脑不太好,其实还是有一点卡,导致有的时候有些图片没有刷新出来。打开vs的时候尽量不要再开其他不必要的程序,vs太大了。

b330559051
b330559051 是运行编译后的EXE,没有运行vs了
2 年多之前 回复
edouardzyc
edouardzyc   2015.06.09 16:39

不见了是什么意思? 是短时间内不见马上回复还是就没有了?
你切换回来的时候程序在重绘你的界面,如果你机器慢的话,可能会出现闪现的情况

edouardzyc
edouardzyc 回复b330559051: 这要么你把重绘的message吃掉了, 要么你自己重定义了onpaint事件结果里面并没有重绘,我只能想到这两种情况了
2 年多之前 回复
edouardzyc
edouardzyc 回复b330559051: 这要么你把重绘的message吃掉了, 要么你自己重定义了onpaint事件结果里面并没有重绘,我只能想到这两种情况了
2 年多之前 回复
b330559051
b330559051 就是一直都不会再出现了
2 年多之前 回复
guonan198811
guonan198811   2015.06.09 19:21

界面在切换的过程中会有刷新重绘的过程,你先看看你的构造函数里面有没有一些写死的刷新代码。另外如果控件有绑定的数据源的话,如果切换过程中间有数据源的变化,却没有通知界面重绘,可能会导致界面控件不可见的。

b330559051
b330559051 只有界面定时器在刷新图表控件的操作
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.10 12:34

什么控件,控件中是否有绘图的代码,绘图代码必须在窗体重绘的时候被更新,如果这些代码是你自己写的,或者写控件的人是个菜鸟,那就难说啦。

Csdn user default icon
上传中...
上传图片
插入图片