C# ReXTrimeBox在文本中间添加一些文本

C# ReXTrimeBox在文本中间添加一些文本,c#,forms,richtextbox,C#,Forms,Richtextbox,我有一个RichTextBox,我想在文本的中间添加一些文本。 例如,我得到了以下文本: “第一个文本第二个文本” 我想在“FirstText”和“SecondText”之间添加一些文本。 我尝试将文本拆分为两个字符串,在第一个字符串中添加我的额外文本,然后再添加第二个字符串。它起作用了,但破坏了我的richTextBox1.SelectionColor(我得到了颜色…。 因此,如何在不剪切我的richTextBox1.text的情况下添加文本,或者如何保存所有颜色数据?请检查此项 您可能需要将

我有一个
RichTextBox
,我想在
文本的
中间添加一些文本。
例如,我得到了以下文本:

“第一个文本第二个文本”

我想在
“FirstText”和“SecondText”之间添加一些文本。
我尝试将文本拆分为两个字符串
,在第一个字符串中添加我的额外文本,然后再添加第二个字符串。它起作用了,但破坏了我的richTextBox1.SelectionColor
(我得到了颜色…。
因此,如何在不剪切我的
richTextBox1.text的情况下添加文本,或者如何保存所有颜色数据?

请检查此项

您可能需要将SelectionStart的值更改为要放置新文本的位置

如果您需要找到正确的索引,可以使用以下方法:

    startIndex = richTextBox1.Find(expressionToFind, 0,
                            richTextBox1.Text.Length,
                            RichTextBoxFinds.WholeWord);

希望有帮助。

您必须自己找到起始索引:

int index = richTextBox1.Text.IndexOf(" ");
if (index > -1) {
  richTextBox1.Select(index, 1);
  richTextBox1.SelectedText = " Inserted Text ";
}

你熟悉起始位置和结束位置吗?你可以这样做

richTextBox1.SelectionStart = index;
richTextBox1.SelectionLength = length;//you need to assign an integer where to start
richTextBox1.SelectedText =  "Good"; 

它会将文本中指定长度的任何位置替换为单词“Good”

如何设置颜色?