问题描述
我用这面代码,给RichTextBox添加了内容,想测试一下RichTextBox的反应速度。可是,添加了内容后,拖动RichTextBox的滚动条,却慢得像蜗牛,为什么?我把这些内容,复制到记事本,拖动记事本的滚动条,响应速度就非常快。如何解决?stringsst="";for(inti=0;i<30000;i++){sst+=(i+"-happyt-");}this.richTB.AppendText(sst);
解决方案
本帖最后由 startqu 于 2012-04-10 10:16:29 编辑
解决方案二:
谁能够帮忙,试试?
解决方案三:
机器慢
解决方案四:
不关机器的事情吧,为什么在相同的机器,在windows自带的记事本里,就可以很快?引用2楼的回复:
机器慢
解决方案五:
先不说RichTextBox为什么慢,你觉得RichTextBox和记事本是一种东西吗?记事本是没有格式的,纯文本,而RichTextBox是有格式的。这两种东西本身就没有可比性。
解决方案六:
先不谈其它,看你代码就有问题,循环30000次居然用string来累加,汗,你不知道StringBuilder么?
解决方案七:
String在每次运算时,比如赋值或累加字符串都会生成一个新实例,你这样循环3w次有点...用StringBuilder吧
解决方案八:
我是问,滚动条为什么慢。不是问string的累加,为什么慢。30000次累加当然是慢的。但我问的关键点,不在累加,而在滚动条。引用5楼的回复:
先不谈其它,看你代码就有问题,循环30000次居然用string来累加,汗,你不知道StringBuilder么?
解决方案九:
我是问,滚动条为什么慢。不是问string的累加,为什么慢。30000次累加当然是慢的。但我问的关键点,不在累加,而在滚动条。引用6楼的回复:
String在每次运算时,比如赋值或累加字符串都会生成一个新实例,你这样循环3w次有点...用StringBuilder吧
解决方案十:
那该用什么控件?引用4楼的回复:
先不说RichTextBox为什么慢,你觉得RichTextBox和记事本是一种东西吗?记事本是没有格式的,纯文本,而RichTextBox是有格式的。这两种东西本身就没有可比性。
时间: 2024-09-20 14:52:47