Q:http://topic.csdn.Net/u/20071205/15/116fa433-69bc-418d-a31c-3c279abc8007.Html
A:

public partial class Form1 : Form


...{

class DoubleBufferListView : ListVIEw


...{

public DoubleBufferListVIEw()


...{

SetStyle(ControlStyles.DoubleBuffer|ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);

UpdateStyles();

}

}



public Form1()


...{

InitializeComponent();
}


DoubleBufferListView lv = new DoubleBufferListVIEw();

private void Form1_Load(object sender, EventArgs e)


...{

this.Controls.Add(lv);

lv.Height = 300;

lv.Width = 300;

new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(doAdd)).Start();

}


void doAdd(object obj)


...{

if (this.InvokeRequired)


...{


this.Invoke(new System.Action<object>(doAdd), new object[] ...{ obj });

}

else


...{

for (int i = 0; i < 100; i++)


...{

this.lv.Items.Add(new ListVIEwItem("jinjazz" + this.lv.Items.Count.ToString()));

System.Threading.Thread.Sleep(10);

Application.DoEvents();

}

}

}

}