Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: user2203448Ответов: 3

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

"Первый текст Второй текст"

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

  • Как вы устанавливаете цвет? Austin T French 27.03.2013

formsrichtextbox

Ответы

Ответ 1 · рейтинг 1 · LarsTech

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

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

Ответ 2 · рейтинг 1 · MethodMan

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

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

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

Ответ 3 · Silvestre

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

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

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы