0

当我们在richtextbox中输入如果单词未完成但行已完成时,整个单词将转到下一行。所以有人可以告诉我如何为特殊字符执行此操作。它通常发生在空格字符但我想要为另一个字符(Ascii 字符)制作它。

4

1 回答 1

1

如果您选择的换行符被按下,请检查 KeyPress 事件:

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == '-')
    {
        int curserPosition = richTextBox1.SelectionStart;
        richTextBox1.Text += "-\r\n";
        richTextBox1.SelectionStart = curserPosition + 2;
        e.Handled = true;
    }
}

如果将字符串粘贴到 RichTextBox 中,您将需要解析字符串并将字符替换为字符加上回车符和换行符:

string rtbText = string.Empty;
rtbText.Replace("-", "-\r\n");

如果您只想在当前行已满时中断,则必须按照以下行添加更多逻辑:

if (richTextBox1.Lines[richTextBox1.Lines.Length - 1].Length > 100)
{
    // parse the string for the last occurance of "-" and insert a CRLF behind it
}
于 2013-03-10T18:34:30.610 回答