在winform上添加用户控件过多时出现闪烁

我做了一个用户控件,在一个winform上根据表的行数动态增加用户控件,一行就一个用户控件,但当这个表有几百行数据时,刷新数据还没什么问题,但是窗体一失去焦点再获得焦点时... 我做了一个用户控件,在一个winform上根据表的行数动态增加用户控件,一行就一个用户控件,但当这个表有几百行数据时,刷新数据还没什么问题,但是窗体一失去焦点再获得焦点时,窗体的用户控件才一个个的出现,几百个用户控件一个一个的出现这个问题太严重了!各位高手有什么绝招教教!
areshh你好:
我这个表的图片什么的全都是加载在内存上的了!我的那个用户控件只有几个panel 几个label和textbox,我试过不动态加这个用户控件,而是用手动的拖了100个左右出来!什么数据也没加上去,但是还是一个一个的刷出来!
christiankula你好:UserControl没有BeginUpdate和EndUpdate这2个方法啊
展开
 我来答
christiankula
2009-05-26 · TA获得超过1007个赞
知道小有建树答主
回答量:1275
采纳率:0%
帮助的人:0
展开全部
好像有一个什么Style的什么东东,开启一下双缓冲,就是控制刷新的
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();

不过几百个控件,你的问题恐怕也没办法从根本上解决,我的方案就是在加载之前先把整个Form给Visable掉,加载完了再显示出来,不过这也是从视觉效果上看起来不闪烁了而已

你可以试试BeginUpdate和EndUpdate,不过几百个控件,想像中肯定效率不佳,可是也不至于这么不佳
侯湛恩Pf
2009-05-25 · TA获得超过407个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:0
展开全部
几百个控件应当不会有那么卡,
你检查下控件看有没有加载IO操作、数据库操作、网络操作等耗资源的,特别是控件里面可能用了图片,而图片是保存在磁盘上的资源的,如果那样的话就要把那些图片改为加载后就保存在内存上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
914066828
2009-05-25 · TA获得超过687个赞
知道小有建树答主
回答量:1353
采纳率:0%
帮助的人:672万
展开全部
可以像搂上说的加好后再显示,不过最好还是控制下,做个翻页,少显示几个比较好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式