.NET拼写检查控件?

是否有适用于.NET的具有拼写检查function的库(最好是自包含的文本编辑控件)。 我想在我的应用程序的编辑区域中添加典型的红色下划线以拼写错误的单词。

编辑:澄清一下,这是针对WinForms的

不是redlining控件,但是: Aspell.Net是一个免费和开源的.Net拼写检查组件。 基于GNU Aspell项目,Aspell.Net是最强大的多语言拼写引擎之一。 API是用C#编写的,并通过围绕Aspell C API的Win32端口的C ++包装器进行通信。

sourceforge的源存储库,2010年2月检查(Tahnks,@ magnifico)。

2012年5月,来源不再可访问…抱歉。

Aspell.Net看起来不错,但似乎不再维护了。 我无法让它在我的机器上工作。

搜索SourceForge后,我找到了NHunspell ,它是OpenOffice.org拼写检查程序的.Net端口。 它提供了拼写检查,查找同义词和连字符的方法。 它在这个时候积极维护,并附带易于理解的示例代码。

用项目自己的话说:

拼写检查,消极和词库:NHunspell

NHunspell是.NET Framework的免费开源拼写检查程序。 C#和Visual Basic示例代码可用于通过同义词库进行拼写检查,连字和同义词查找。

NHunspell基于Hunspell,将Open Office拼写检查,连字符和同义词库带入Microsoft®.NETFramework。 NHunspell是一个.NET(C#,VB)库,包含本地库Hunspell,Hyphen和MyThes。

集成库在OpenOffice中使用,并与OpenOffice.org上发布的词典一起使用。 执照

NHunspell的许可证如下:GPL / LGPL / MPL。 根据LGPL和MPL许可,允许在商业应用中免费使用。 您的商业应用程序可以链接到NHunspell DLLs。

NHunspell

NHunspellTextBoxExtender,由William Winner创建。 一旦添加到项目中,就可以用于扩展文本框和富文本框(任何inheritanceTextBoxBase的控件)。 源代码也包括在内。

http://www.codeproject.com/KB/recipes/NHunspellExtenderProvider.aspx

您没有提到这是用于基于Web的应用程序还是桌面应用程序,但我过去使用过netSpell并取得了很好的成功。

RapidSpell对我很有用http://keyoti.com

Telerik具有ASP.NET控件。

****** Windows应用程序 – 您可以自定义您自己的文本框控件,无需第三方软件******

1 – 首先在解决方案资源管理器中打开应用程序“属性”,在“应用程序”选项卡下,确保“目标框架”设置为“.Net Framework 4”,而不是“.Net Framework 4 Client Profile”。

2秒右键单击解决方案资源管理器中的应用程序,然后选择“添加引用…”。 选择“.NET”选项卡,然后按住控制键并选择“WindowsFormsIntegration”,“System.Design”,“PresentationCore”,“PresentationFramework”,“WindowsBase”,“System.Xaml”并单击“确定”。

3-third右键单击解决方案资源管理器中的应用程序,然后选择“添加” – >“类”。 创建一个新课程,你可以任意命名。 打开刚刚创建的类的代码并删除代码,而不是文件。

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”拖放到表单上。

可以在此处看到基于WPF文本框的可用于客户端或服务器端的免费.NET拼写检查程序

完全披露……由你自己写的堆栈溢出当然有一些帮助:)

Infragistics有一个拼写检查控件 ,可以对任何控件进行拼写检查。 我自己没有使用它,但你可以免费下载试用版。

组件一提供了一个组件,只有在您键入时才能执行此操作。 我用它而且非常快。

有关详细信息,请参见此处

FCKEditor是一个很好的文本编辑器(基于Web)。 它具有拼写检查function。