老问题,winform中的label闪烁问题

杰克CZ 2009-04-08 03:22:19
winform里面,加载了一个背景图片(偏向于黑色),图片不大几K而已,里面有10多个label,字体设置成白色,背景设置成透明,每次最小化,最大化之后都会出现label先是一片白,之后才显示出内容的闪烁问题,也试验过双缓存了,发现没什么效果,不知各位达人们有米什么好方法。

1.设置了 winform的DoubleBuffered属性为True
2.构造函数添加了SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
都没什么效果.

有可能要重写OnPaint()函数吧,但是不知道具体的怎么写。给个例子最好了。
...全文
927 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
杰克CZ 2009-04-08
  • 打赏
  • 举报
回复
难道没人能解决???
杰克CZ 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 iampaint 的回复:]
图片引起
[/Quote]

那怎么解决呢,必须要加载背景图片的,难道一点办法都没?
cja03 2009-04-08
  • 打赏
  • 举报
回复
label的文本用GDI来画,不要用label。
iampaint 2009-04-08
  • 打赏
  • 举报
回复
图片引起
jy02870694 2009-04-08
  • 打赏
  • 举报
回复
up
杰克CZ 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jcyluck 的回复:]
这个问题是由背景图片引起,楼主可以尝试先加载LABEL再加载背景图片
[/Quote]

能具体点吗?怎么先加载LABEL再加载背景图片,给段代码,谢谢
杰克CZ 2009-04-08
  • 打赏
  • 举报
回复
另一窗体覆盖住该窗体一部反后,出现闪烁就更明显了,应该是系统调用重画了,但是不知道怎么解决
jcyluck 2009-04-08
  • 打赏
  • 举报
回复
这个问题是由背景图片引起,楼主可以尝试先加载LABEL再加载背景图片
杰克CZ 2009-04-08
  • 打赏
  • 举报
回复
已经用了啊,根本没什么效果,该闪烁还是闪烁
深海之蓝 2009-04-08
  • 打赏
  • 举报
回复
winform自带的双缓存属性 貌似提高不了多少,网上应该有代码,效率会比较高

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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