求做GDI+ 加了一些自定义控件以后,运行时控件 和窗口都会闪烁的问题 怎么解决啊 ~
感觉c#做winform真的不怎么样啊 cb都不会遇到这样的情况
感觉c#做winform真的不怎么样啊 cb都不会遇到这样的情况
解决方案 »
- C#获取 控制台命令参数
- windows xp professional 下能不能装英文的 sql server 2005企业版吗 ????
- 数组大小能变么
- DataColumn的Unique属性为true时的问题
- 国外类似于 csdn 这样的人气较高论坛有哪些?
- 求个字符串分解的算法
- socket 高级问题,答对了有奖,先给100分
- 在asp.net页面上通过fileupload控件把图片上存到ms sql的image字段里面,然后在winfirms从数据库的image字段把图片读出时,报错,求助
- 求百分号的正则表达式!
- 100分求一个自动化仓库出入库策略的源码
- 求正则表达式
- 怎样用鼠标拖曳,将文件拖到form界面,并获取该文件路径及文件名
请在构造函数里面底下加上如下几行:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
参数说明:
UserPaint
如果为 true,控件将自行绘制,而不是通过操作系统来绘制。此样式仅适用于派生自 Control 的类。
AllPaintingInWmPaint
如果为 true,控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁。仅当 UserPaint 位设置为 true 时,才应当应用该样式。
DoubleBuffer
如果为 true,则绘制在缓冲区中进行,完成后将结果输出到屏幕上。双重缓冲区可防止由控件重绘引起的闪烁。要完全启用双重缓冲,还必须将 UserPaint 和 AllPaintingInWmPaint 样式位设置为 true当然具体效果你要自己试下才知道
但是控件闪烁问题好象没有什么改观 看到以前别人很多同样的问题的帖子 可以还是没能找到好的答案 不过仍然谢谢你了 谢谢大家