求助!! vb.net 用代码生产LABLE标签时闪烁问题的处理。

ydyceo 2019-12-29 09:14:47
我的程序代码:
第一步:删除所有LABLE
第二步:生成LABLE 20个
程序运行时,有闪烁的问题。 如何解决,在网上找过但没不知道怎么操作。
本人可以提供源文件。悬赏求助。
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhonsonzhang 2019-12-31
  • 打赏
  • 举报
回复
不是 label 的问题,是加载label的父控件问题。 应该重写个加载label的父控件。比如动态加载label的是FlowLayoutPanel Public Class Flow1 Inherits Windows.Forms.FlowLayoutPanel Sub New() Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) Me.SetStyle(ControlStyles.UserPaint, True) Me.DoubleBuffered = True Me.AutoScroll = True Me.Dock = DockStyle.Fill End Sub End Class 然后flow1动态加载label,picturebox之类,一点闪烁都没。
VB业余爱好者 2019-12-30
  • 打赏
  • 举报
回复
我也做过类似的事情,不过我直接在Form_Load的时候生成一次,然后后面并不真的删除,删除操作只是让Lable不可见,重新生成操作,也不是真的重新生成,给它们赋新的text值,然后让它们可见,这样可以减少刷新
秋的红果实 2019-12-29
  • 打赏
  • 举报
回复
试下双缓存 控件.DoubleBuffered=true; 对于批量操作,可以用一个自定义接口,设置双缓存,让你的label去实现这个接口

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧