Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 26

Выделение цветом

11.12.2020, 11:41. Показов 1995. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте как мне выделить цветом симметричные слова в richbox?

Я сделал счетчик симметричных слов вот он: а как вывести данные чтобы симметричные слова были выделены цветом не пойму, если будут предложения пишите буду признателен
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   if(first == ' '|| first == '\n')
                    {
                        first = dannie;
                       
                        if (count == 0)
                            temp_first = (char)num;
                        
                    }
 
                    else
                    {
                        if (dannie == ' ' || dannie == '\n')
                        {
                            if (first == last)
                            {
                                if (count == 0) temp_last = (char)num;
                                count++;                                
                            }                            
                            first = dannie;
                            
                        }
                        else if (last == ' ' || last == '\n')
                        {                          
                            first = dannie;
                            
                        }
                        else
                         last = dannie;                     
                          
                        }
Добавлено через 6 минут
Я пробовал так, но не выделяет
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 if ((num >= temp_first) && (num < temp_last))
                    {
                        richTextBox2.SelectionColor = Color.Red;
                        richTextBox2.Text += dannie;
                    }
                    if ((num < temp_first))
                    {
                        richTextBox2.SelectionColor = Color.Black;
                        richTextBox2.Text += dannie;
                    }
                    if (num >= temp_last)
                    {
                        richTextBox2.SelectionColor = Color.Black;
                        richTextBox2.Text += dannie;
                    }
Добавлено через 52 секунды
где num - кол-во символов в файле
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2020, 11:41
Ответы с готовыми решениями:

Выделение цветом
Есть текстбокс в который выводится вычисление с трёх других текстбоксов, как сделать выделение числа красным цветом если результат...

Выделение текста цветом
Пытаюсь сделать редактор с подсветкой кода. На текущий момент подсветка сделана через rtb1.SelectionColor. Чем не нравится такой подход -...

Выделение цветом слов в richtextbox
Здравствуйте! Есть код: private void richTextBox1_TextChanged(object sender, EventArgs e) { richTextBox2.Text...

9
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
11.12.2020, 11:49
Лучший ответ Сообщение было отмечено Parovoz15 как решение

Решение

Не по теме:

Я принес вам колесо, можете сказать, что у моей машины с ходовой?



Вы кинули код, понятный только вам. Закиньте код так, чтобы было понятно, что за переменные вы используете, откуда они берутся и что значат... и что такое "симметричные слова" ?))

Добавлено через 5 минут
Цитата Сообщение от Parovoz15 Посмотреть сообщение
richTextBox2.SelectionColor
Для того, чтобы изменить цвет текста, его нужно сначала выделить

C#
1
2
richTextBox1.Select([начальная позиция], [длина]);
richTextBox1.SelectionColor = Color.Red;
например так: если в richTextBox текст "Пробуем окрасить слово", то код:

C#
1
2
richTextBox1.Select(8, 8);
richTextBox1.SelectionColor = Color.Red;
сделает так:
Пробуем окрасить слово
0
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 26
11.12.2020, 12:05  [ТС]
симметричные слова это палиндромы например: шалаш , тут, оппо
0
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
11.12.2020, 12:23
Parovoz15,

ТОгда все просто. нашли слово - получаете позицию первого символа, высчитываете длину, выделяете и красите, это все делается там, где у вас считается count

Добавлено через 6 минут
И, как по мне, строковые палиндромы проще искать так: нашли слово, записали в переменную, перевернули, сверили с переменной:

C#
1
2
3
4
5
6
            string s = "шалаш";
            string s2 = new string(s.Reverse().ToArray());
            if(s==s2)
            {
                count++
            }
Добавлено через 2 минуты
Ну и потом запоминаете в переменную позицию первого символа слова, его длина будет s.Lenght, выделаете, красите, ищите дальше.

Добавлено через 1 минуту
И это еще тут оставлю, оно вам потом понадобится

C#
1
2
3
                   richTextBox1.SelectAll();
                   richTextBox1.SelectionColor = SystemColors.WindowText;
                   richTextBox1.DeselectAll();
0
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 26
11.12.2020, 12:52  [ТС]
Хорошо я примерно понял, сложность в том что симметричные слова могут быть абсолютно любыми и поэтому я пытаюсь считать их посимвольно и красить по символьно) надеюсь получится
0
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
11.12.2020, 12:59
Parovoz15, не пойму зачем. Вы работаете со словом, и красить тоже нужно слово. Если будете работать с символами, то будете получать колобок. И, так же, учитывайте, что если у вас в риче будет адекватный текст, то по правилам, знаки препинания примыкают к слову, и вам нужно проверять последний символ и отсекать его, если это знак препинания
0
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 26
11.12.2020, 13:03  [ТС]
А как мне тогда в строке найти кол - во симметричных слов, считывая по строкам?
0
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
11.12.2020, 13:39
Смотри, набросала тебе на быструю руку:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
       private void button1_Click(object sender, EventArgs e)
        {
            char[] znak = new char[] { '.',',','!','?',':',';','-','"','\''};
            int startpos = 0;
            int pos = 0;
            while (startpos<richTextBox1.Text.Length)
            {
                pos = richTextBox1.Text.IndexOf(' ', startpos);
                if (pos == -1) pos = richTextBox1.Text.IndexOf('\n', startpos);
                if (pos == -1) pos = richTextBox1.Text.Length;
 
 
                string s = richTextBox1.Text.Substring(startpos, pos-startpos);
                int z = 0;
                for (int i = 0; i < znak.Length; i++)
                {
                    if (s[s.Length - 1] == znak[i])
                    {
                        s = s.Substring(0, s.Length - 1);
                        z = 1;
                        break;
                    }
                }
 
                string s2 = new string(s.Reverse().ToArray());
                if (s == s2)
                {
                    richTextBox1.Select(startpos, s.Length);
                    richTextBox1.SelectionColor = Color.Red;
                }
 
                startpos += s.Length+1+z;
            }
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            richTextBox1.SelectAll();
            richTextBox1.SelectionColor = SystemColors.WindowText;
            richTextBox1.DeselectAll();
        }
Посмотри, если что - сам уже исправишь
Миниатюры
Выделение цветом  
0
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
11.12.2020, 13:45
Чтоб количество найти - запихни count++ туда, где красишь слово
0
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 26
11.12.2020, 14:15  [ТС]
Большое спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2020, 14:15
Помогаю со студенческими работами здесь

DataGridView - выборочное выделение ячеек цветом
Помогите, пожалуйста!! Есть у меня в dataGridView есть несколько столбцов с названием &quot;Тема&quot; + еще какое-то неизвестное число и...

Выделение цветом отличную часть 2 строк
Всем доброго времени суток. Есть две строки. я их сравнил. нашел отличающуюся часть. записал ее в строку str. Хочу вывести в listbox, либо...

Выделение строк DataGridView цветом по условию
Здравствуйте! У меня есть DataGridView, которому в DataSource кладу DataTable, взятый из БД. Подскажите, как мне выделить строки, значение...

Выделение цветом четных/нечетных элементов
Здравствуйте помогите пожалуйста. Массив введется в список. Когда вы выбираете элемент, отображается, является ли он четным или нечетным....

Выделение текста разным цветом в RichTextBox
Написал функцию, входными параметрами которой является строка, которая должна быть добавлена в RichTextBox и булевый параметр, от которого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru