相同的内容,为什么WPF的RichTextBox的滚动条,慢得像蜗牛?记事本的滚动条,则可以很快?

startqu 2012-04-10 09:59:51
我用这面代码,给RichTextBox添加了内容,想测试一下RichTextBox的反应速度。

可是,添加了内容后,拖动RichTextBox的滚动条,却慢得像蜗牛,为什么?

我把这些内容,复制到记事本,拖动记事本的滚动条,响应速度就非常快。如何解决?




string sst= "";
for (int i = 0; i < 30000; i++)
{
sst += (i + "-happyt-");
}

this.richTB.AppendText(sst);
...全文
287 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
startqu 2012-04-10
  • 打赏
  • 举报
回复
那该用什么控件?



[Quote=引用 4 楼 的回复:]

先不说RichTextBox为什么慢,你觉得RichTextBox和记事本是一种东西吗?记事本是没有格式的,纯文本,而RichTextBox是有格式的。这两种东西本身就没有可比性。
[/Quote]
startqu 2012-04-10
  • 打赏
  • 举报
回复
我是问,滚动条为什么慢。

不是问string的累加,为什么慢。

30000次累加当然是慢的。但我问的关键点,不在累加,而在滚动条。


[Quote=引用 6 楼 的回复:]

String在每次运算时,比如赋值或累加字符串都会生成一个新实例,你这样循环3w次有点...用StringBuilder吧
[/Quote]
startqu 2012-04-10
  • 打赏
  • 举报
回复
我是问,滚动条为什么慢。

不是问string的累加,为什么慢。

30000次累加当然是慢的。但我问的关键点,不在累加,而在滚动条。


[Quote=引用 5 楼 的回复:]

先不谈其它,看你代码就有问题,
循环30000次居然用string来累加,
汗,
你不知道StringBuilder么?
[/Quote]
问路87 2012-04-10
  • 打赏
  • 举报
回复
String在每次运算时,比如赋值或累加字符串都会生成一个新实例,你这样循环3w次有点...用StringBuilder吧
ohkuy 2012-04-10
  • 打赏
  • 举报
回复
先不谈其它,看你代码就有问题,
循环30000次居然用string来累加,
汗,
你不知道StringBuilder么?
cheng2005 2012-04-10
  • 打赏
  • 举报
回复
先不说RichTextBox为什么慢,你觉得RichTextBox和记事本是一种东西吗?记事本是没有格式的,纯文本,而RichTextBox是有格式的。这两种东西本身就没有可比性。
startqu 2012-04-10
  • 打赏
  • 举报
回复
不关机器的事情吧,为什么在相同的机器,在windows自带的记事本里,就可以很快?

[Quote=引用 2 楼 的回复:]

机器慢
[/Quote]
色拉油 2012-04-10
  • 打赏
  • 举报
回复
机器慢
startqu 2012-04-10
  • 打赏
  • 举报
回复
谁能够帮忙,试试?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧