2017-10-29 3 views
-2

Gibt es eine Möglichkeit, die Zeile in einer RichTextBox nach einer bestimmten Anzahl von Zeichen zu brechen, ohne dass die Zeichenfolge eine neue Zeile hat? (In diesem Beispiel Fall 5 Zeichen aber in meinem realen Code nach 80 Zeichen)RichTextBox Zeilenumbruch nach n Zeichen

//Rendered as 
Examp 
le Te 
xt 

//Actual String 
Console.WriteLine(richTextBox1.Text) //"Example Text" 

ich eine bestimmte Phrase in einem ihm markieren. Zum Beispiel "Text" wird hervorgehoben und es funktioniert nur, wenn die Zeichenfolge "Example Text" und nicht "Examp\nle Te\nxt"

Ich habe auch versucht "\n" mit "" austauschen und dann die Positionen, weil '\n' zählt als ein Zeichen Nachstellen, aber ich konnte es nicht bekommen

+0

zu verwenden Sind Sie sicher, dass es nicht „\ r \ n“? Da Sie Windows verwenden, ist dies die richtige Methode, um neue Zeilen unter Windows zu erstellen. – Bauss

Antwort

0

Anstatt "\ n" zu verwenden, ersetzen Sie Enviroment.NewLine durch "" und passen Sie die Positionen neu an.

string Text = richTextBox1.Text; 
Text = Text.Replace(Enviroment.NewLine, ""); 

string NewText = ""; 
for(int i = 0; i < Text.Length; i++){ 

    if(i % 5 == 0)// Insert a line break every 5 characters 
     NewText += Enviroment.NewLine; 

    NewText += Text[i]; 
} 

Wenn Sie maxium Leistung benötigen Sie können einen StringBuilder oder werfen Sie einen Blick in String.Insert

Verwandte Themen