利用线程填充ListView的问题?
开发环境: WinForm, .net 2003 C#, FrameWork 1.1
有一个查询按钮:
private void btnQuery_Click(object sender, System.EventArgs e)
{
ThreadStart entryPoint=new ThreadStart(QueryCER);
Thread QryTh=new Thread(entryPoint);
QryTh.Start();
}
private void QueryCER()
{
LView.Items.Clear();
ListViewItem rItem=null;
LView.ListViewItemSorter =null;
for (j=1;j <100;j++)
{
rItem=new ListViewItem( "A " + j.ToString());
for(i=1;i <5;i++) rItem.SubItems.Add(i.ToString());
this.Text = "(FILL: " + j.ToString() + " ) ";
//注:LView是ListView控件
LView.Items.Add(rItem);
}
}
为什么在第一次点查询按钮时,填充第一条记录时,要花很长的时间,大概要2秒钟左右,而其后的则很快.
以后再点查询按钮,是很会,而很少出现象第一次点查询按钮时填充第一条记录的等待现象?
这是什么原因呀?
------解决方案--------------------因为你头一次需要在QueryCER()
中new 99个ListViewItem