在界面上放置一个listview控件,用于每处理一条信息向listview里增加显示一条,
  
  但在实际使用时,只看到垂直滚动条在不断缩短却没有显示,等处理完了才一起显示出来,  怎样才能实现我想要的效果?

解决方案 »

  1.   

    this.SuspendLayout();
    更新处理...
    theForm.ResumeLayout();
      

  2.   

    Application.DoEvents();
    backgroundworker
    虚拟模式
      

  3.   


    这个场景不需要多线程,
    试试2、3楼提到的方法,
    在循环的步进过程中把控制权交回给系统一次,
    使得系统有机会做些别的事情,如:重绘请参考MSDN:
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.application.doevents.aspx
      

  4.   

    listView1.BeginUpdate();  
    ...
    listView1.EndUpdate();
      

  5.   

    这是由于UI线程繁忙,不能更新界面
    可以使用 多线程或,backgroundwork 来执行任务
      

  6.   

    显示了 只不过你的listview焦点没有设置到最后一行你添加数据之后 吧selectIndex 设置成 listview。items。count - 1;
    就可以看到更新了