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

Выделение слов по кнопке

09.11.2020, 17:04. Показов 1450. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть программа которая находит слова начинающиеся на гласную и выделяет их. А как сделать так, чтобы при нажатию на кнопку поочередно выделялись слова. То есть, одно нажатие одно слово выделяется, второе нажатие второе слово и тд. Помогите пожалуйста.
Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
string text = richTextBox2.Text;
 
string vowelLetters = "аоиеёэыуюяАОИЕЁЭЫЮЯ";
 
string[] words= text.Split(new char[] { '.', ',', ' ', '-' }, StringSplitOptions.RemoveEmptyEntries);
 
int count = 0;
 
for (int i = 0; i < words.Length; i++)
{
if (vowelLetters.Contains(words[i][0]))
{
MatchCollection col = Regex.Matches(richTextBox2.Text, words[i]); foreach (Match array in col)
{
richTextBox2.SelectionStart = array.Index; richTextBox2.SelectionLength = array.Length; richTextBox2.SelectionColor = Color.Red;
}
count++;
 
}
}
richTextBox1.Text += ($"Количество слов, начинающихся на гласную букву:", count);
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2020, 17:04
Ответы с готовыми решениями:

Как поменять выделение некоторых слов курсивом на жирное выделение
Здравствуйте. Есть вордовский документ состоящий из 1100 страниц.Подскажите пожалуйста как во всем документе заменить выделение курсивом...

Выделение символа на кнопке
Можно ли как-нибудь изменить шрифт отдельных символов на кнопке. Например, чтобы &quot;H&quot; была жирной.

Как убрать на кнопке выделение пунктиром
Как убрать на кнопке выделение пунктиром прям на ней стрем вообще смотрится :):handshake:

7
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.11.2020, 18:28
Лучший ответ Сообщение было отмечено DrunkDog как решение

Решение

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
public Form1()
{
    InitializeComponent();
    //При изменении текста — удаляем найденные фрагменты
    richTextBox1.TextChanged += (s, e) => _matches = null;
    //Сораняем выделение при потере фокуса
    richTextBox1.HideSelection = false;
}
//Тут будем хранить найденный текст
private IEnumerator _matches;
private void btnFind_Click(object sender, EventArgs e)
{
    //Если найденного текста нет
    if (_matches == null)
    {
        var vowels = "аоиеёэыуюя";
        //Ищем его без учёта регистра
        var m = Regex.Matches(richTextBox1.Text, $"\\b[{vowels}]\\S*\\b", RegexOptions.IgnoreCase);
        //Запоминаем
        _matches = m.GetEnumerator();
    }
    //При каждом нажатии на кнопку выбираем следующий найденный фрагмент
    if (_matches.MoveNext())
    {
        var match = _matches.Current as Match;
        //Выделяем его
        richTextBox1.Select(match.Index, match.Length);
    }
    else
    {
        //Если дошли до конца — сбрасываем в начало
        _matches.Reset();
        _matches.MoveNext();
    }
}
1
0 / 0 / 0
Регистрация: 04.11.2019
Сообщений: 55
09.11.2020, 19:18  [ТС]
ViterAlex, спасибо, но почему то программа не хочет откликаться на пуск. Но это ладно. А вы можете сказать, как выполняется выделение только одного слова из массива при нажатии первый раз на пуск
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.11.2020, 21:19
Смотри 27 строку
0
0 / 0 / 0
Регистрация: 04.11.2019
Сообщений: 55
09.11.2020, 21:35  [ТС]
ViterAlex, это строчка отвечает за выделение слова, насколько я понял. А как реализовано, что по одному нажатию одно слово подсвечивается?
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.11.2020, 22:02
23 строка. При каждом нажатии происходит переход к следующему результату поиска с помощью интерфейса IEnumerator
0
0 / 0 / 0
Регистрация: 04.11.2019
Сообщений: 55
09.11.2020, 23:09  [ТС]
ViterAlex, понял вас, а как подсчитать кол-во таких слов, как занести в переменную кол-во?
0
0 / 0 / 0
Регистрация: 04.11.2019
Сообщений: 55
10.11.2020, 10:41  [ТС]
ViterAlex, спасибо за программу, у меня получилось. Вопрос закрыт)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2020, 10:41
Помогаю со студенческими работами здесь

таблица рандомных слов. выделение определенных слов
Задание: Таблица с разными словами; выделить все ячейки, слова в которых начинаются и оканчиваются на одну и ту же букву (и содержащее не...

Поиск слов по букве, и выделение найденных слов
Задача такая, есть список из 1 млн слов. Необходимо найти все слова, которые содержат букву &quot;а&quot; независимо от регистра. Далее...

Выделение слов и подсчёт слов с гласной на конце
Ввести текст, по нажатию произвольной клавиши поочередно выделяет каждое слово, оканчивающееся на гласную букву и считает количество таких...

выделение слов
помогите из текстового файла выделить слова и записать их в другой файл, каждое на отдельной строке.

выделение слов
как реализовать выделение слов из предложения (речення) в С


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru