当listview 中有一万以上记录时,使用listview.listitems.clear 清空时将会很慢,有何其它方法能够快速清空.

解决方案 »

  1.   

    先把visible给false了,清除后再true。
      

  2.   

    把它隐藏起来,再在同样的位置显示一个先前隐藏的LISTVIEW控件
      

  3.   

    隐藏的LISTVIEW控件是个好办法。
      

  4.   

    starsoulxp(星魂.NET) 的方法不错,
    me.autoredraw=false
    listview1.visible=false
    listview1.listitems.clear
    listview1.visible=true
    me.autoredraw=true
    这样没有看起来无响应的过程
      

  5.   

    似乎只能clear,一个一个清还要慢
      

  6.   

    private Const LVM_DELETEALLITEMS =&H1009
    Call SendMessage(ListView1.hwnd, LVM_DELETEALLITEMS , 0&, 0&)    '清空列表.
      

  7.   

    先把visible给false了,清除后再true
      

  8.   

    发送LVM_DELETEALLITEMS 
    同时暂时把TreeView的窗口函数设为DefWindowProc消息转发也是需要时间的
      

  9.   

    用GetProcAddr得到user32.dll中DefWindowProc的地址
      

  10.   

    测试时clear 需要用多长时间?