标签:
重新定制控件行为和外观
Void Invalidate(); void Invalidate ( Rectangle ); //使控件的特定区域无效并且向控件发送绘制的消息; void Update(); //使控件重绘其工作区内的无效区域; void Refresh(); //相当于 this.invalidate(true); this.Update();
当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。;
Bitmap bmp = new Bitmap(600, 600);
Graphics g = Graphics.FromImage( bmp );
g.FillEllipse( brush, i * 10, j * 10, 10 , 10); g.DrawLine() g.DrawString() //...
this.CreateGraphics().DrawImage( bmp, 0, 0 );
注:在.net Framework 3以上版本中有DoubleBuffered属性,可以直接使用双缓冲技术
标签:
原文地址:http://www.cnblogs.com/bincoding/p/4897126.html