不行吧,我是Invalidate该区域。如果重绘的区域不大,应该感觉不到
解决方案 »
- 计算速度怎么这么慢啊
- 要用session控制某个具体的js,jpg,css等文件是否可以下传,有办法吗?
- WPF多窗口切换,任务栏总显示是来回切换
- 怎样通过编程的方式向Excel中追加行
- 怎么捕获触发器返回的异常???紧急求救~~~
- 小问题,又是小问题,DataReader关闭时,不关闭连接!!困扰了一周了……
- c#如何检查局域网内服务器是否连通
- vs.net 2003 的问题!
- 开发虚拟磁盘 求助!
- C# 多线程:多个线程调用一个方法往数据插数据,结果数据乱了!
- 急!!!!请问将TextBox的TextMode属性设置为Password之后如何给它赋初值?????
- 在webform 中, 如何判断textbox 为空
我说的是,当需要某一个小块区域需要重绘时,重现的效果,我把buffer graphics里只一小块区域重绘了,然后invalidate该小块区域,可以明显看到背景和绘制的前景出现交错了,怎么避免这一现象,(就是直接替换该区域原有图像,而不出现背景交错,以避免闪烁)
.net已经提供了双缓冲,只要设置一下属性即可获得双缓冲功能,除此一以外,不必自己再做任何多余的工作,看你的表述,好象还是自己实现的双缓冲,没有必要这样做,不必创建buffer graphics,
this.SetStyle(ControlStyles.ResizeRedraw,true);
this.SetStyle(ControlStyles.DoubleBuffer,true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);
this.SetStyle(ControlStyles.UserPaint,true);
this.UpdateStyles();
我把它加到自定义控件里,运行就出错