【转】DoubleBuffered属性消除画面闪烁
2010-08-04 16:17 刺客之家 阅读(943) 评论(1) 编辑 收藏 举报如何让控件不闪烁呢?打开Control.DoubleBuffered,即双倍缓冲区!
如何打开呢?一般控件都从Control集成此DoubleBuffered属性,所以只要重写控件就可以了。
以ListView为例:
public class NewLisetView : System.Windows.Forms.ListView
{
public void setDoubleBuffer()
{
DoubleBuffered = true;
}
//一般控件都从Control集成此DoubleBuffered属性,所以只要重写控件就可以了。
protected override bool DoubleBuffered
{
get
{
return base.DoubleBuffered;
}
set
{
base.DoubleBuffered = value;
}
}
}
{
public void setDoubleBuffer()
{
DoubleBuffered = true;
}
//一般控件都从Control集成此DoubleBuffered属性,所以只要重写控件就可以了。
protected override bool DoubleBuffered
{
get
{
return base.DoubleBuffered;
}
set
{
base.DoubleBuffered = value;
}
}
}