C#应用程序变得缓慢且无法响应,因为多行文本框中的字符串增长

Jim*_*ell 2 c# performance textbox timer

我有一个C#应用程序,其中有很多信息被添加到文本框中以显示给用户.在处理数据时,几乎立即,应用程序变得非常缓慢且无响应.这就是我目前正在尝试处理这个问题的方法:

   var saLines = textBox1.Lines;
   var saNewLines = saLines.Skip(50);
   textBox1.Lines = saNewLines.ToArray();
Run Code Online (Sandbox Code Playgroud)

此代码每100mS从一个计时器运行.有没有更好的方法来处理这个?我使用的是Microsoft Visual C#2008 Express Edition.谢谢.

Pet*_*ras 8

简单的答案是TextBox.AppendText().

你最初会得到更好的表现.我测试每20毫秒写一个500字符的消息,持续2分钟(使用BackgroundWorker),UI保持响应,CPU最小化.当然,在某些时候,它会变得反应迟钝,但它足以满足我的需求.