powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подсветка строк в RichTextBox
8 сообщений из 8, страница 1 из 1
Подсветка строк в RichTextBox
    #38964887
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 richTextBoxSend.SelectionBackColor = Color.Yellow;
for (int i = 0; i < richTextBoxSend.Lines.Length; i++)
{
    richTextBoxSend.SelectionStart = richTextBoxSend.Find(richTextBoxSend.Lines[i]);
    richTextBoxSend.SelectionLength = richTextBoxSend.Lines[i].Length;
    richTextBoxSend.Select(richTextBoxSend.SelectionStart, richTextBoxSend.SelectionLength);
                
    for (int j = 0; j < 100; j++)
    {    
           Application.DoEvents();
           Thread.Sleep(10);
                   
     }
                 
}


и ничего. причем отладчик показывает корректные зачения.
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38964914
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7,

А фокус находится в данном контроле? И какое значение присвоено свойству HideSelection ?
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38964935
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Присмотрелся к коду и понял, что поторопился с ответом.
Вообще есть проблемы в каждой строке кода ^.^
А какая конечная цель? Менять фон текста по 1 строке в секунду?
Тогда надо менять SelectionBackColor после назначения Selection.
Первый символ строки надо искать с помощью метода GetFirstCharIndexFromLine.
И выделять текст надо методом Select, а не назначать отдельно SelectionStart и SelectionLength.
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38964956
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VAlexey,

я посылаю строка за строкой в терминал. хочу чобы было видно текущую строку. а метод селект у меня присутствует и судя по отладчику он получает правильные аргументы - стартовый индекс и длину.
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38964963
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VAlexeyПрисмотрелся к коду и понял, что поторопился с ответом.
Вообще есть проблемы в каждой строке кода ^.^
А какая конечная цель? Менять фон текста по 1 строке в секунду?
Тогда надо менять SelectionBackColor после назначения Selection.
Первый символ строки надо искать с помощью метода GetFirstCharIndexFromLine.
И выделять текст надо методом Select, а не назначать отдельно SelectionStart и SelectionLength.

и правда - richTextBoxSend.SelectionBackColor = Color.Yellow; надо вставить в каждую итерацию. но сейчас другая проблема - все строки остаются выбранными
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38964987
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7,

Понятно, что неправильно понимается смысл SelectionBackColor: это свойство меняет фон текста, выбранного в данный момент, а не цвет выделения текста вообще.
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38965034
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VAlexeyjenya7,

Понятно, что неправильно понимается смысл SelectionBackColor: это свойство меняет фон текста, выбранного в данный момент, а не цвет выделения текста вообще.
так это то что мне надо - фон текста, выбранного в данный момент. почему предыдущая строка остается окрашенная?
...
Рейтинг: 0 / 0
Подсветка строк в RichTextBox
    #38965228
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так работает
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 richTextBoxSend.SelectionBackColor = Color.White;
for (int i = 0; i < richTextBoxSend.Lines.Length; i++)
{
    richTextBoxSend.SelectionStart = richTextBoxSend.Find(richTextBoxSend.Lines[i]);
    richTextBoxSend.SelectionLength = richTextBoxSend.Lines[i].Length;
    richTextBoxSend.SelectionBackColor = Color.Yellow;
    richTextBoxSend.Select(richTextBoxSend.SelectionStart, richTextBoxSend.SelectionLength);
                
    for (int j = 0; j < 100; j++)
    {    
           Application.DoEvents();
           Thread.Sleep(10);
                   
     }
    richTextBoxSend.SelectionBackColor = Color.White;
           
}
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подсветка строк в RichTextBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]