我在winforms中有一个多色的richtextbox控件,如图所示
我需要修改最后一行的值(这里是“第3行”中的3)。我用以下代码尝试了它
int pos = richtextbox.LastIndexOf("3");
richtextbox.Text = richtextbox.Text.Substring(0,pos) + "4";
值3成功更改为4,但不保留行的颜色。它们的颜色与第一行的颜色相同,如图所示。
如何在不改变颜色的情况下更改值。
答案 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";