The Magical Magikarp Ответов: 1

Как поставить красную волнистую линию под неправильно написанными словами в richtextbox? С#


Я знаю, что вы должны использовать
\ulwave
и
\ulnone
в RTF, но я понятия не имею, что дальше этого. Например..

Я хочу, чтобы текст был написан правильно. Если я пишу "Привет", как "Ху", то я хочу, чтобы он поместил под ним красную волнистую линию и несколько строк текста, если это необходимо.

Кто-нибудь может помочь?

Что я уже пробовал:

\ulwave

\ulnone


Но я понятия не имею, как добиться того, чего хочу..

1 Ответов

Рейтинг:
2

Garth J Lancaster

Я думаю, что вам нужно начать разбивать вашу проблему на более мелкие, управляемые единицы работы

1) разбить текст на слова/лексемы, где лексемами могут быть пробел, пунктуация)
2) посмотреть с помощью РТФ 'СТРОИТЕЛЬ', чтобы построить текст rtf - например RichText Builder (StringBuilder для RTF)[^]
3) для каждого слова (возможно, игнорируя простые слова), проверьте орфографию слова
4) Если проверка орфографии говорит, что слово это плохо, добавить слово в его подчеркнуть последовательности с использованием RTFBuilder еще добавить слово, помня, чтобы добавить пространства/жетоны происходит в мире?
5) в конце слов (that) builder есть ToString(), который затем может быть использован в качестве источника для RichTextBox

Это итеративный процесс - (3) например, может разбиться на несколько подэтапов, но вы можете создать простой Словарь/Список хороших слов и сначала проверить свои слова


The Magical Magikarp

Я не совсем понимаю..

Garth J Lancaster

хммм .. вы задали общий вопрос, не опубликовав никакого кода, который вы написали. Я дал вам одну возможную разбивку того, как выполнить вашу задачу, вы могли бы использовать StringBuilder, если бы знали, как построить RTF - поэтому я предложил что-то более простое ....

чего именно ты не понимаешь ?

The Magical Magikarp

Я не понимаю ту часть, где я бы разделил текст на слова/токены, и ту часть, где вы сказали

"в конце слов (that) builder имеет ToString(), который затем может быть использован в качестве источника для RichTextBox"

Garth J Lancaster

Я думаю, что вам нужно начать читать о функциях, классах, методах, чтобы вы могли начать разбивать вещи, а затем создавать функциональность по частям - похоже, вы намерены тратить мое время, не применяя себя