RichTextBox добавить текст в середине текста

У меня есть RichTextBox, и я хочу add some text в middle из text. Например, я получил этот текст:

«Первый текст Второй текст»

Я хочу добавить текст между "FirstText" and the "SecondText"., который я пробовал, и split the text to 2 strings, и добавить к первому мой дополнительный текст, а затем добавить ему вторую строку. Это сработало, но это уничтожило мой richTextBox1.SelectionColor (I got color...). Итак, как я могу добавить текст, не вырезая мой richTextBox1.Text или Как я могу сохранить все данные о цвете?


person user2203448    schedule 27.03.2013    source источник
comment
Как вы устанавливаете цвет?   -  person Austin T French    schedule 27.03.2013


Ответы (3)


Вы должны найти начальный индекс самостоятельно:

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

Знакомы ли вы с начальной позицией и конечной позицией? вы можете просто сделать что-то вроде этого

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

он заменит любую позицию в тексте, где вы назначили длину, словом «Хорошо».

person MethodMan    schedule 27.03.2013

Проверьте этот сообщение.

Возможно, вам потребуется изменить значение SelectionStart на позицию, в которую вы хотите поместить новый текст.

Если вам нужно найти правильный индекс, вы можете использовать что-то вроде этого:

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

Надеюсь, поможет.

person Silvestre    schedule 27.03.2013