|
Модераторы: gambit, Kefir, Partizan |
|
Fedia |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: нет Всего: 13 |
В компоненте RichTextBox отображается текст типа:
При помощи регулярных выражений определяю позиции нужных мне полей в этом тексте. Зная эти позиции мне необходимо выделить их в тексте (например другим цветом). Сложность заключается в том, что позиции поля в тексте не совпадают со смещением позиции относительно начала документа в RichTextBox. Например, поле 261 в блоке Ш3 (вторая строка) начинается с 50-го символа в тексте и имеет длину 3 символа. Для выделения этого поля использую код:
но из-за того, что в RichTextBox позиции в тексте смещаются при переходе на новый параграф или когда внутри параграфа есть элемент Run, то выделяется не поле 261, а текст перед ним. Для выделения поля 261 приходится использовать позиции со смещением:
Есть ли возможность преобразовать позицию в тексте в позицию в RichTextBox? Иными словами из позиции 50 получить позиции 54. Сейчас я пробегаю по всем параграфам а внутри параграфов по Inlines для определения позиции. Но работает такой способ достаточно медленно при работе с большим количеством текста. -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
||||||
|
|||||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |