2011-01-30 17 views
7

Mi sono imbattuto in un piccolo problema, sto provando a filtrare una lista piuttosto grande che ho copiato da un altro programma e incollato nel mio. Il problema è che c'è così tanto testo che solo alcuni vengono incollati nella casella di testo. L'intero elenco è < 256kb.Rendi la casella di testo multilinea contenere più testo (C#, winform)

Come si aumenta il limite della casella di testo in entrata e in uscita per contenere TUTTO il testo? utilizzando C# e winform

risposta

6

È possibile impostare la proprietà MaxLength delle vostre caselle di testo per 0 per ignorare il limite di caratteri di default 32767:

yourTextBox.MaxLength = 0; 
4

Non sono sicuro, ma penso che sia possibile modificare solo la proprietà TextBoxBase.MaxLength. Nella pagina collegata viene indicato che il valore predefinito è 32767, quindi è solo 64 KB e quindi non è sufficiente per l'applicazione.

+0

Tecnicamente, questo è 32767 * caratteri *, quindi è approssimativamente 64 Kilobyte (o Kibibytes, come dovremmo dire ora), non 32. Un 'char' è largo 2 byte in .NET. –

+0

sì sì, ma ha parlato del suo file, e se non ha molti caratteri speciali in un file con codifica utf8, un file di 32KB sarà 32768 caratteri (o un po 'di più), non è vero? –

+0

lo farebbe, ma .NET CLR dovrebbe ancora allocare 64 KB per archiviarlo :) –

1

Si potrebbe utilizzare un controllo RichTextBox invece. Non esiste un limite di caratteri su RichTextBox. È solo limitato dalla memoria.

Oppure è possibile modificare la proprietà MaxLength dello TextBox. Il valore massimo per MaxLength è 4294967295 o un importo basato sulla memoria disponibile, a seconda di quale sia il più piccolo.

Problemi correlati