有没有办法加快在winforms文本框中显示大量文本?

les*_*rid 2 c# performance textbox

有没有办法加快在winforms文本框中显示大量文本?我的应用程序读取一个文件(可以大到20MB),然后将其显示到文本框(TextBoxX.Text = fileText;).

显示文本的过程非常缓慢,有时需要几分钟.问题是这个应用程序旨在快速向用户显示文件中的大量文本.

有没有办法更快地做到这一点?也许使用某种缓存?

DDR*_*r62 11

我知道这个问题现在很老了,但我想补充一些我认为可能对其他人有帮助的信息.

如果设置WordWrap = false,在某些情况下性能会显着提高.当达到最大限制时,它仍将包裹长行.我尝试了一些90K长的文本,其中包括一大块Base64数据,响应从16秒变为2秒.


Sha*_*ard -2

对代码进行最小更改的解决方案是将整个文件内容读入变量,然后在每次迭代中调用 Application.DoEvents() 的循环中将内容的“块”附加到文本框。

您可以在加载时显示“正在加载,请稍候...”消息,DoEvents 调用将确保您的应用程序在此期间不会被“冻结”。