同上,
谢了!

解决方案 »

  1.   

    删除时不要刷新listview.
    如果时全部,当然用
    lvlistview.Clear;
    lvlistview.Columns.Clear;
      

  2.   


    listview1.items.beginupdate;
    ...删除
    listview1.items.endupdate;
      

  3.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      ListView1.Items.BeginUpdate;
      ListView1.Items.Clear;
      ListView1.Items.EndUpdate;
    end;
      

  4.   

    前面的哥们你们理解错误了,
    他是说要怎么删的快,不是清空,
    要是清空的话,还用到这里来问问题吗?
    ……
    我来用一段代码来回答:
    var
      I: Integer;
    begin
      for I := Pred (ListView.Items.Count) downto 0 do
      begin
        ListView.Items.Delete (I);
      end;
    end;即,要求从最后面开始一个一个删除,因为ListView中的
    链表才用的是List,相当于队列,如果从前面删除的话,
    势必被删除项的后面所有的东西要向前面移动,这样会
    导致多次分配资源,因而较慢(数量大的情况下),相反
    从后面的话,也就相当于在队列的尾部删除,不存在这个
    问题,因为它没有移动数据的必要。
      

  5.   

    sorry啊,
    这几天上不了csdn
    回复不了,
    不过我用了beginupdate.....endupdate以后,
    我同时清空几个listView,反而会假死机!这是为什么?