如何在C#中修改多色richtextbox中的当前行

时间:2015-06-23 10:47:46

标签: c# winforms

我在winforms中有一个多色的richtextbox控件,如图所示

enter image description here

我需要修改最后一行的值(这里是“第3行”中的3)。我用以下代码尝试了它

int pos = richtextbox.LastIndexOf("3");
richtextbox.Text = richtextbox.Text.Substring(0,pos) + "4";

值3成功更改为4,但不保留行的颜色。它们的颜色与第一行的颜色相同,如图所示。

enter image description here

如何在不改变颜色的情况下更改值。

1 个答案:

答案 0 :(得分:0)

这对我有用:

// GET LAST LINE
string LastLineText = richTextBox1.Lines[richTextBox1.Lines.Count() - 1];
int LastLineStartIndex = richTextBox1.Text.LastIndexOf(LastLineText);

// SELECT TEXT
richTextBox1.SelectionStart = LastLineStartIndex;
richTextBox1.SelectionLength = LastLineText.Length;

// REPLACE TEXT
richTextBox1.SelectedText = "Line 4";