0

我有一个RichTextBox,我想add some textmiddletext。例如我得到这个文本:

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

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

4

3 回答 3

1

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

int index = richTextBox1.Text.IndexOf(" ");
if (index > -1) {
  richTextBox1.Select(index, 1);
  richTextBox1.SelectedText = " Inserted Text ";
}
于 2013-03-27T13:36:07.767 回答
1

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

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

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

于 2013-03-27T13:37:37.487 回答
0

检查这篇文章

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

如果你需要找到正确的索引,你可以使用这样的东西:

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

希望能帮助到你。

于 2013-03-27T13:34:10.030 回答