textview.Invoke((MethodInvoker)delegate { textview.Text += "需要显示的数据"; });请问网友们,哪些方法比这个高效呀?

解决方案 »

  1.   

    线程中操作就要invoke委托
    private   void   ThreadRun() 

    invoke((MethodInvoker)delegate   {this.textBox1.text= "xxx ";}); 
    }
      

  2.   

    如果是不一大堆数据在一起显示,试试RichTextBox的AppendText();
    如果是一行一行的数据,试试ListBox。
      

  3.   

    可以用RichTextBox的AppendText试试
      

  4.   

    此话怎讲?愿闻其详。ps:
    textview.AppendText("需要显示的数据");//这样会自动滚动滚动条。(在设置滚动条可用的情况下)
      

  5.   


    看 MSDN, Control.Invoke
    http://msdn.microsoft.com/zh-cn/library/zyzhdc6b.aspx若在后台线程调用这个方法,还算是正常,但也不见得高效。如果在 UI 线程上调用这个方法:首先把显示文本的操作搞成个方法,然后用一个委托指向这个方法,接着把这个委托推到某个线程上(也许是主线程,也许是子线程)无论哪个线程都好,这个线程会执行委托,执行完之后在主线程的消息泵上插入一条消息。等待消息泵循环最终显示文本。
    绕那么多圈有什么好处? 也许是因为推到子线程上去了,你调试的时候觉得显示文本的那个操作立即返回,就觉得高效了么