在richtextbox上选择特定行

时间:2016-04-14 00:50:57

标签: c#

我如何制作它,以便当用户在“文本框”中键入“{”时,它会为它们选择下一行?例如,

private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        if (richTextBox1.Text.Contains("{"))
        {
            richTextBox1.AppendText(Environment.NewLine + "    "); // line 1
            // Put user on line 1
            richTextBox1.AppendText(Environment.NewLine + "}"); // line 2
        }
    }

1 个答案:

答案 0 :(得分:2)

您可以通过在添加第二行之前获取文本框的长度,然后在添加第二行之后在其末尾选择0个字符来执行此操作。

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    if (richTextBox1.Text.Contains("{"))
    {
        richTextBox1.AppendText(Environment.NewLine + "    "); // line 1
        int lastIndex = richTextBox1.Text.Length - 1;
        richTextBox1.AppendText(Environment.NewLine + "}"); // line 2
        richTextBox1.SelectionStart = lastIndex;
        richTextBox1.SelectionLength = 0;
    }
}