我需要在RichTextBox中打开一个大约4MB的文本文件,但是文本的末尾是“修剪”的。RichTextbox MaxLength太小
如何覆盖RichTextBox.MaxLength Int32限制?
我需要在RichTextBox中打开一个大约4MB的文本文件,但是文本的末尾是“修剪”的。RichTextbox MaxLength太小
如何覆盖RichTextBox.MaxLength Int32限制?
我不确定RichTextBox能处理多少文本,但我相信MaxLength只适用于用户输入的文本。如果直接设置.Text,它应该能够超过MaxLength,除非MaxLength已经达到最大值。
RichTextBox.MaxLength的默认值是2GB,所以对于4MB文件,这不会是你的问题。
限制是2147483647 不幸的是,我的4MB文本文件包含比这更多的字符。 – Keyo 2010-04-29 18:57:31
呃,不,你不能在一个400万磅的包里粘上20亿。 – 2010-04-29 19:17:55
您可能正在考虑字符串的最大大小 – 2010-04-30 12:13:30
除此之外,你可以通过设置它的长度,像设置文本限制(最大限制由内存的限制):
if (textToAdd.Length > richTextBox1.MaxLength)
...不好听装载的是箱子里有大量的数据;你可能会碰到out of memory
打嗝!
This answer可能会有所帮助。
- 编辑 -
必须,如果加载,那么你可以从文件加载块。当用户点击滚动按钮(上/下)加载该文件的块;听起来像一些代码 - 但必须,如果你加载!只是想!
确定RichTextBox的最大尺寸是2,147,483,647,这是很多输入法,如果您正在考虑复制它,可能会更好地读取数据,而不是复制到RichTextBox。
nope,该限制适用于RTB.Text属性以及 – Keyo 2010-04-29 18:54:47
请参阅:http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.maxlength.aspx,具体为黄色框。哦,等一下,我很困惑。如果你在设计器中设置文本,那么它的工作原理?但从技术上讲,它仍然是在“运行时”,只是从.designer文件中设置。无论如何,该网站还称64K显然不到4MB。 – 2010-04-30 12:11:23
所以问题就变成了,你想达到什么目的?大多数现代文本编辑器一次加载文件的一部分。当你滚动时,他们加载剩下的部分。因此,“打开”一个巨大的文件几乎是瞬间的。这与记事本可以在加载大文件时挂起相反。使用富文本格式会更棘手,因为您可能从一开始就将所有文本加粗,但您不知道如果只是加载碎片... – 2010-04-30 12:19:50