如何在c#中的richtextbox中为特定字符分隔行

时间:2013-03-10 17:51:08

标签: c# .net

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

1 个答案:

答案 0 :(得分: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
}