2011-01-30 25 views
7

Me encontré con un pequeño problema, estoy tratando de filtrar una lista bastante grande que copié de otro programa y pegué en el mío. El problema es que hay tanto texto que solo una parte se está pegando en el cuadro de texto. Toda la lista es < 256kb.Hacer cuadro de texto multilínea mantener más texto (C#, winform)

¿Cómo elevo el límite de mi cuadro de entrada y salida para contener TODO el texto? usando C# y winform

Respuesta

6

Usted puede establecer la propiedad MaxLength de sus cuadros de texto para 0 para anular el límite predeterminado 32767 personaje:

yourTextBox.MaxLength = 0; 
4

No estoy seguro, pero creo que solo puede cambiar la propiedad TextBoxBase.MaxLength. En la página enlazada, dice que el valor predeterminado es 32767, por lo que solo es 64 KB y, por lo tanto, no es suficiente para su aplicación.

+0

Técnicamente, eso es 32767 * caracteres *, así que es aproximadamente 64 Kilobytes (o Kibibytes, como se supone que debemos decir ahora), no 32. Un 'char' tiene 2 bytes de ancho en .NET. –

+0

Sí, eso es correcto, pero habló sobre su archivo, y si no tiene muchos caracteres especiales en un archivo codificado para utf8, un archivo de 32KB tendrá 32768 caracteres (o un poco más), ¿no? –

+0

de hecho lo haría, pero .NET CLR todavía tendría que asignar 64 KB para almacenarlo :) –

1

Se puede usar un control de RichTextBox lugar. No hay límite de caracteres en RichTextBox. Solo está limitado por la memoria.

O podría cambiar la propiedad MaxLength del TextBox. El valor máximo para MaxLength es 4294967295 o una cantidad basada en la memoria disponible, la que sea menor.

Cuestiones relacionadas