Задать вопрос
@Olovein

Как перенести форматированный текст из двух RichTextBox в один в C#?

Всем доброго времени суток. Учусь программировать на C# и недавно столкнулся с такой проблемой: у меня есть два документа RTF, необходимо текст из них перенести в новый документ. Для этого использую код:
for(int i = 0; i<richTextBoxSource.Document.Blocks.Count; i++)
{
     Block block = richTextBoxSource.Document.Blocks.ElementAt(i);
     richTextBox.Document.Blocks.Add(block);
}

здесь richTextBoxSource - это документ-источник, а richTextBox - это документ, куда нужно добавить текст.
В этом случае у меня переносятся не четные строки.
Отладчик показал, что после каждого richTextBox.Document.Blocks.Add(block); значение richTextBoxSource.Document.Blocks.Count уменьшается на 1.
Помогите разобраться, что не так я делаю.
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@Sumor
Всё достаточно просто. Block может принадлежать только одному тексту. Вы его добавляете в новый текст - и он пропадает из старого. Следующий блок "подвигается" на i-ое место и не попадает в обработку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы