|
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
|
|||||||||||
Обработка текста в RichTextBox. Сохранение позиции курсора после форматирования23.07.2012, 19:41. Показов 5445. Ответов 9
Метки нет (Все метки)
ситуация такая:
на форме есть контрол RichTextBox, в нем редактируется текст. в событии TextChanged вызывается следующее:
ВОПРОС: 1. как изменить функцию SetWordForeColor так, чтобы после изменения цвета она не меняла позицию курсора. то есть чтоб курсор не перескакивал в начало текста после изменения цвета. получается, что при каждом изменении текста курсор всегда ставится в начало текста 2. функция SetWordForeColor (она есть в моем первом вопросе) меняет цвет шрифта только первых вхождений требуемых символов в тексте. таким образом, в тексте ^1гыг^1хах красным обозначается только первое "^1", второе не меняется. как исправить?
0
|
|||||||||||
| 23.07.2012, 19:41 | |
|
Ответы с готовыми решениями:
9
DataGridView сохранение форматирования после обновления |
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
||||||
| 27.07.2012, 00:30 | ||||||
|
AvtoCrack,
Попробуй такой вариант. Нужные слова будут выделяться нужным цветом по ходу набора текста
1
|
||||||
|
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
|
||||||
| 28.07.2012, 00:29 [ТС] | ||||||
|
но ведь юзер может фразу СКОПИРОВАТЬ в текстбокс, а не СОБСТВЕННОРУЧНО ПИСАТЬ. в таком случае функция будет красить только последние вхождения нужных слов в тексте.
Добавлено через 22 минуты ну ладно и на этом спасибо!) Добавлено через 1 час 54 минуты
Добавлено через 3 часа 15 минут да и кстати, если редактировать не конец текста, а начало или середину, то курсор всегда оказывается в конце текста. в общем тоже самое что и мой вариант с НАЧАЛОМ текста XD
0
|
||||||
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
||||||
| 30.07.2012, 00:59 | ||||||
|
AvtoCrack,
Посмотри такой вариант
Программа не все умеет учитывать при редактировании текста, но для вашего случая думаю подойдет
1
|
||||||
|
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
|
||||||
| 01.08.2012, 17:00 [ТС] | ||||||
P.S: у меня при загрузке формы (функция "MainForm_Load") считывается текст из файла и вставляется в richTextBox т.е. при загрузке формы текстбокс заполняется, и сразу вызывается событие TextChanged, где и вызывается сама функция Draw.DrawAllSpecialWords. таким образом курсор всегда находится на первой позиции (0), т.к. самой формы еще не видно и юзер не может переместить позицию ввода курсора.
0
|
||||||
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
|||||||
| 01.08.2012, 22:30 | |||||||
|
При загрузке из файла этого не происходит. Тогда, на случай загрузки из файла, сделай имитацию позиции курсора и отсчета поиска переделай последний поисковой блок
Ты разобрался, для чего отдельно сделаны блоки if (count == 1) и if (count >= 2)? Для того, что бы текст не моргал при больших объемах информации . Там заложены олгаритмы обработки именно нужных участков. А вот блок if (Math.Abs(count) == 1 && (cursorPos < NewlengthText)) корявенький. Там могут быть моргания, т.к. каждый раз перелопачивается весь текст. В принципе, это тоже решаемо.
1
|
|||||||
|
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
|
||||||
| 02.08.2012, 12:44 [ТС] | ||||||
Добавлено через 12 минут ах да, и если в файле в тексте слишком много спец. слов, то они не все разукрашиваются сразу (когда программа вставляет текст в текстбокс). Вот пример: ^9|^0SW^9|^2DaS IsT ^1Me^2! <= в этом нике разукрашиваются только ^1 и ^2 (в самом конце). остальные нет однако опять же, если в уже вставленный текст вставить какой-нибудь текст в середину, то все спец. слова сразу разукрашиваются. а самостоятельно не хочет почему-то =(
0
|
||||||
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
|||||||||||
| 03.08.2012, 00:02 | |||||||||||
|
1. в блоке if (count == 1) убери
2. if (count >= 2) добавил
Вот вариант, с учетом всего этого
1
|
|||||||||||
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
|
| 03.08.2012, 10:20 | |
|
Есть идея, как организовать другой алгоритм. Позже только. Сейчас не до этого.
0
|
|
|
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
|
|
| 03.08.2012, 22:13 [ТС] | |
|
о а теперь все работает!
0
|
|
| 03.08.2012, 22:13 | |
|
Помогаю со студенческими работами здесь
10
Сохранение текста из RichTextBox
Сохранение текста из richTextBox в Word обработка текста в richtextbox Сохранение текста из RichTextBox с форматированием и с указанной кодировкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU
YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей.
Звучит. . .
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|