使用另一个RichTextBox放在要添加行号的左边
使用以下代码
//uiRichTextBox1为右侧文本框,uiRichTextBox2为左侧文本框int lineIndex = 0;private void uiRichTextBox1_TextChanged(object sender, EventArgs e){if (lineIndex > uiRichTextBox1.Lines.Length){List<string> temp = new List<string>();temp.AddRange(uiRichTextBox2.Text.Split('\n'));int count = lineIndex - uiRichTextBox1.Lines.Length;if (temp.Count - count - 1 > 0){temp.RemoveRange(temp.Count - count - 1, count);}else {temp.Clear();}uiRichTextBox2.Text = String.Join("\n",temp);lineIndex = uiRichTextBox1.Lines.Length;}else if(lineIndex < uiRichTextBox1.Lines.Length){uiRichTextBox2.Text += (uiRichTextBox1.Lines.Length-1) + "\r\n";lineIndex = uiRichTextBox1.Lines.Length;}else { }}
效果