【问题标题】:RichTextBox line break after n charactersRichTextBox 在 n 个字符后换行
【发布时间】:2017-10-30 10:46:04
【问题描述】:

有没有办法在指定数量的字符之后在RichTextBox 中换行而字符串没有新行? (在本例中为5 字符,但在我的真实代码中80 字符之后)

//Rendered as
Examp 
le Te
xt  

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

我正在突出显示其中的特定短语。 例如,"Text" 被突出显示,并且仅当字符串为 "Example Text" 而不是 "Examp\nle Te\nxt" 时才有效

我也试过用"" 替换"\n",然后重新调整位置,因为'\n' 算作一个字符,但我无法让它工作

【问题讨论】:

  • 你确定不是“\r\n”吗?由于您使用的是 Windows,这是在 Windows 上使用换行符的正确方法。

标签: c# winforms richtextbox


【解决方案1】:

不要使用“\n”,而是尝试用“”替换 Enviroment.NewLine,然后重新调整位置。

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];
}

如果您需要最大性能,您可能需要使用StringBuilder 或查看String.Insert

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多