使多行文本框能够容纳更多文本(C#,winform)

10

我遇到了一个小问题,我正在尝试过滤一份从另一个程序复制并粘贴到我的程序中的相当大的列表。问题在于,有很多文本,但只有部分被粘贴到文本框中。整个列表大小不超过256kb。

如何提高输入和输出文本框的限制以容纳所有文本?使用C#和Winform。

3个回答

15
您可以将文本框的MaxLength属性设置为0,以覆盖默认的32767字符限制:了解更多
yourTextBox.MaxLength = 0;

4

我不确定,但我认为您可以改变TextBoxBase.MaxLength属性。在链接的页面上,它说默认值为32767,因此只有64KB,对于您的应用程序来说不够。


从技术上讲,那是32767个字符,因此大约为64千字节(或者现在应该说的是Kibibytes),而不是32。在.NET中,一个char宽度为2个字节。 - Frédéric Hamidi
是的,没错,但他谈到了他的文件,如果他的UTF8编码文件中没有太多特殊字符,那么一个32KB的文件将会有32768个字符(或略多),对吧? - Sören
确实如此,但.NET CLR仍然需要分配64 KB来存储它 :) - Frédéric Hamidi
好的,我刚意识到他并没有说整个文件的大小小于256KB,而是他在复制一个列表,且整个列表的大小小于256KB。这有点取决于他所指的256KB是指文件大小还是.NET大小。无论如何,这并不重要,我会相应修改上文内容。 - Sören

1
你可以使用RichTextBox控件代替。 RichTextBox没有字符限制,只受内存限制。
或者你可以更改TextBoxMaxLength属性。 MaxLength的最大值为4294967295或基于可用内存的数量,以较小者为准。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接