RichTextBox在文本中间添加一些文本

时间:2013-03-27 13:26:31

标签: c# forms richtextbox

我有一个RichTextBox,我希望在add some text的{​​{1}}中middle。 例如,我收到了这样的文字:

  

" FirstText SecondText"

我想在text之间添加一些文字 我试过"FirstText" and the "SecondText".并添加到第一个我的额外文本然后添加第二个字符串。它工作但它破坏了我的richTextBox1.SelectionColor split the text to 2 strings 那么如何在不剪切(I got color...).的情况下添加文本或如何保存所有颜色数据?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

您是否熟悉起始位置和结束位置?你可以简单地做这样的事情

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

它将替换您已使用“Good”

一词指定长度的文本中的任何位置

答案 2 :(得分:0)

选中post

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

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

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

希望它有所帮助。