Я пытался реализовать библиотеку проверки орфографии Hunspell, чтобы проверять орфографию, когда я печатаю в приложении для заметок с помощью c #. Кажется, что он работает нормально, но когда появляется слово с ошибкой, весь RichTextBox подчеркивается.
public void spellchecker()
{
Invoke(new MethodInvoker(delegate ()
{
using (Hunspell hunspell = new Hunspell("en_us.aff", "en_US.dic"))
{
String sentence = GetRichTextBox().Text;
foreach (string item in sentence.Split(' '))
{
bool correct = hunspell.Spell(item);
if (correct == false)
{
GetRichTextBox().Font = new Font(GetRichTextBox().Font, FontStyle.Underline);
}
else {
GetRichTextBox().Font = new Font(GetRichTextBox().Font, FontStyle.Regular);
}
}
}
}));
}
Ошибка появляется в строке:
GetRichTextBox().Font = new Font(GetRichTextBox().Font, FontStyle.Underline);
Поэтому, когда я заменяю его на:
item.Font = new Font(item.Font, FontStyle.Underline);
.. появляется сообщение об ошибке «Строка не содержит определения шрифта». Я не могу сделать так, чтобы слово с ошибкой было подчеркнуто индивидуально.