Контроль проверки орфографии .NET?
Есть ли там библиотеки (желательно автономное средство редактирования текста) для .NET, которые имеют возможности проверки орфографии. Я хотел бы добавить типичную красную подчеркивание для пропущенных слов в области редактирования моего приложения.
Изменить: уточнить, это для WinForms
Ответы
Ответ 1
Не кратковременный контроль, но: Aspell.Net является компонентом проверки орфографии Free и Open Source.Net. Основанный на проекте GNU Aspell, Aspell.Net является одним из самых мощных многоязычных орфографических движков. API написан на С# и обменивается через С++-оболочку вокруг API-интерфейса Win32 Aspell C API.
Исходный репозиторий sourceforge, февраль 2010 г. (Tahnks, @magnifico).
Май 2012, источник больше не доступен... извините.
Ответ 2
Aspell.Net выглядит неплохо, но, похоже, больше не поддерживается. Я не мог заставить его работать на моей машине.
После поиска в SourceForge я нашел NHunspell, который является .Net-адресом проверки орфографии с OpenOffice.org. Он предоставляет методы проверки орфографии, поиска синонимов и переноса. Он активно поддерживается в это время и поставляется с понятным примером кода.
В проекте собственные слова:
Проверка орфографии, Тезаурус: NHunspell
NHunspell - свободное заклинание с открытым исходным кодом checker для .NET Framework. С# и Код примера Visual Basic доступен для проверки орфографии, переносов и поиск синонимов через тезаурус.
NHunspell основана на Hunspell и приводит проверку орфографии Open Office, перенос и тезаурус на Microsoft®.NET Framework. NHunspell является библиотекой .NET(С#, VB) и обертками родные библиотеки Hunspell, Hyphen и MyThes.
Интегрированные библиотеки используются в OpenOffice и работать с словари, опубликованные на OpenOffice.org. Лицензия
NHunspell лицензируется в соответствии с: GPL/LGPL/MPL. Бесплатное использование в коммерческих приложений разрешено согласно лицензии LGPL и MPL. Ваш коммерческое приложение может связывать против DLL NHunspell.
NHunspell
Ответ 3
NHunspellTextBoxExtender, созданный Уильямом Уиннером. После добавления в проект можно использовать текстовые поля и богатые текстовые поля (любой элемент управления, который наследует TextBoxBase). Исходный код также включен.
http://www.codeproject.com/KB/recipes/NHunspellExtenderProvider.aspx
Ответ 4
Вы не упомянули, было ли это для веб-использования или настольного приложения, но я использовал netSpell в прошлом и имел хороший успех.
Ответ 5
Telerik имеет элемент управления для ASP.NET.
Ответ 6
RapidSpell отлично поработал у меня http://keyoti.com
Ответ 7
****** Приложение Windows - вы можете настроить свой собственный текстовый блок управления, нет необходимости в стороннем программном обеспечении ******
1-Сначала откройте приложение "Свойства" в проводнике решений на вкладке "Приложение", убедитесь, что "целевая структура" установлена в ".Net Framework 4", а не ".Net Framework 4 Client Profile".
2-секунд щелкните правой кнопкой мыши ваше приложение в проводнике решений и выберите "Добавить ссылку...". Выберите вкладку ".NET", затем удерживайте клавишу управления и выберите "WindowsFormsIntegration", "System.Design", "PresentationCore", "PresentationFramework", "WindowsBase", "System.Xaml" и нажмите "OK".
3-Третий щелчок правой кнопкой мыши по вашему приложению в обозревателе решений и выберите "Добавить" → "Класс". Создайте новый класс, который вы можете назвать им как угодно. Откройте код для класса, который вы только что создали, и удалите код, а не файл.
4-Forth скопируйте и вставьте следующий код в только что созданный файл класса.
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms.Integration;
using System.Windows.Forms.Design;
[Designer(typeof(ControlDesigner))]
class SpellCheckTextbox: ElementHost
{
private TextBox box;
public SpellCheckTextbox()
{
box = new TextBox();
base.Child = box;
box.TextChanged += (sender, e) => OnTextChanged(EventArgs.Empty);
box.SpellCheck.IsEnabled = true;
box.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
this.Size = new System.Drawing.Size(100, 200);
}
public override string Text
{
get { return box.Text; }
set { box.Text = value; }
}
[DefaultValue(true)]
public bool Multiline
{
get { return box.AcceptsReturn; }
set { box.AcceptsReturn = value; }
}
[DefaultValue(false)]
public bool ScrollBars
{
get
{
if (box.VerticalScrollBarVisibility == ScrollBarVisibility.Visible ||
box.HorizontalScrollBarVisibility == ScrollBarVisibility.Visible)
{
return true;
}
else
{
return false;
}
}
set
{
if (value)
{
box.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
box.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
}
else
{
box.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
box.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
}
}
}
[DefaultValue(false)]
public bool WordWrap
{
get { return box.TextWrapping != TextWrapping.NoWrap; }
set { box.TextWrapping = value ? TextWrapping.Wrap : TextWrapping.NoWrap; }
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new System.Windows.UIElement Child
{
get { return base.Child; }
set { /* Do nothing to solve a problem with the serializer !! */ }
}
}
5- Пятый, наконец, последний шаг, скомпилируйте код, а затем перетащите новый элемент управления SpellCheckTextbox, расположенный в верхней части "Toolbox" в виде дизайна на вашу форму.
Ответ 8
Бесплатный инструмент проверки орфографии .NET, основанный на текстовом поле WPF, который можно использовать на стороне клиента или сервера, можно увидеть здесь
Полное раскрытие... написанное вами действительно с некоторой помощью из, конечно:)
Ответ 9
Infragistics имеет контроль проверки орфографии, которые могут выполнять проверку орфографии на любом элементе управления.
Я не использовал его сам, но вы можете скачать пробную версию бесплатно.
Ответ 10
Компонент One предоставляет компонент, который делает это, но только по мере ввода. Я использую его и очень быстро.
Смотрите здесь для получения дополнительной информации
Ответ 11
FCKEditor - хороший текстовый редактор (на основе Интернета). Он имеет возможности проверки правописания.