有这样一个问题,在一个Form中,左边为TreeView,右边为ListView(vsReport风格),点击左边的TreeView列表,右边的ListView动态的产生列(大概有十几列),而且每次点击产生的列名都不一样,我就这样做,
for i := 1 to mListView.Columns.Count do
  mListView.Columns[0].Destory
然后再根据需要动态的创建新列,可是这样做右边ListView的Title会产生闪烁效果,我觉得应该是Columns.Destroy的效率太低,而又没有发现好的办法,请各位帮忙看看。

解决方案 »

  1.   

    不是效率低,是ListView一直在刷新,这样会耗去不少时间
    所以的数据填充最好在
    listview1.items.beginupdate
    try
      code//做你想做的事情
    finally
      listview1.items.endupdate
    end;
    一般都是这样处理的,包括Treeivew
      

  2.   

    楼上说的对,ListView一直在刷新,系统不停的更新界面
      

  3.   

    谢谢楼上两位的回答,我的问题是ListView的标题(不是在填充数据时)在删除又创建时看起来有闪烁的效果.