スペルチェック機能を備えた.NET用のライブラリ(できれば自己完結型のテキストエディットコントロール)はありますか?アプリケーションの編集領域でスペルミスのある単語に典型的な赤い下線を追加したいと思います。
編集:明確にするために、これはWinForms用です
スペルチェック機能を備えた.NET用のライブラリ(できれば自己完結型のテキストエディットコントロール)はありますか?アプリケーションの編集領域でスペルミスのある単語に典型的な赤い下線を追加したいと思います。
編集:明確にするために、これはWinForms用です
Aspell.Net は良さそうに見えますが、もうメンテナンスされていないようです。私のマシンでは動作しませんでした。
SourceForge を検索した後、OpenOffice.org のスペル チェッカーの .Net ポートであるNHunspellを見つけました。スペル チェック、類義語の検索、およびハイフネーションのメソッドを提供します。現時点では積極的にメンテナンスされており、わかりやすいサンプル コードが付属しています。
プロジェクト自身の言葉で:
スペルチェッカー、ハイプネーション、シソーラス: NHunspell
NHunspell は、.NET Framework 用の無料のオープン ソース スペル チェッカーです。C# および Visual Basic のサンプル コードは、シソーラスを介したスペル チェック、ハイフネーション、同義語の検索に使用できます。
NHunspell は Hunspell に基づいており、Open Office スペル チェック、ハイフネーション、シソーラスを Microsoft® .NET Framework にもたらします。NHunspell は .NET (C#、VB) ライブラリであり、ネイティブ ライブラリの Hunspell、Hyphen、および MyThes をラップします。
統合ライブラリは OpenOffice で使用され、OpenOffice.org で公開されている辞書と連携します。ライセンス
NHunspell は GPL/LGPL/MPL の下でライセンスされています。商用アプリケーションでの自由な使用は、LGPL および MPL ライセンスに従って許可されています。商用アプリケーションは、NHunspell DLL に対してリンクできます。
レッドライン コントロールではありませんが、Aspell.Netは無料でオープン ソースの .Net スペル チェック コンポーネントです。GNU Aspell プロジェクトに基づく Aspell.Net は、利用可能な最も強力な多言語スペル エンジンの 1 つです。API は C# で記述されており、Aspell の C API の Win32 ポートの C++ ラッパーを介して通信します。
sourceforgeのソース リポジトリ、2010 年 2 月にチェック済み (Tahnks、@magnifico)。
2012 年 5 月、ソースにアクセスできなくなりました...申し訳ありません。
William Winner が作成した NHunspellTextBoxExtender が動作します。プロジェクトに追加すると、テキスト ボックスとリッチ テキスト ボックス (TextBoxBase を継承する任意のコントロール) を拡張するために使用できます。ソースコードも同梱。
http://www.codeproject.com/KB/recipes/NHunspellExtenderProvider.aspx
これがWebベースの使用であるかデスクトップアプリであるかについては言及されていませんが、私は過去にnetSpellを使用しており、成功を収めています。
TelerikはASP.NETを制御します。
RapidSpell は私にとってとてもうまくいきましたhttp://keyoti.com
****** Windows アプリ - 独自のテキスト ボックス コントロールをカスタマイズできます。サード パーティのソフトウェアは不要です *****
1-最初にソリューションエクスプローラーでアプリケーションの「プロパティ」を開き、「アプリケーション」タブで「ターゲットフレームワーク」が「.Net Framework 4クライアントプロファイル」ではなく「.Net Framework 4」に設定されていることを確認します。
ソリューション エクスプローラーでアプリケーションを 2 秒右クリックし、[参照の追加...] を選択します。「.NET」タブを選択し、コントロールキーを押しながら「WindowsFormsIntegration」、「System.Design」、「PresentationCore」、「PresentationFramework」、「WindowsBase」、「System.Xaml」を選択し、「OK」をクリックします。
3-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] をフォームにドラッグ アンド ドロップします。
Infragisticsには、任意のコントロールでスペルチェックを実行できるスペルチェッカーコントロールがあります。自分で使ったことはありませんが、無料で試用版をダウンロードできます。
Component Oneは、これを実行するコンポーネントを提供しますが、入力した場合のみです。私はそれを使用し、それは非常に高速です。
詳細については、こちらをご覧ください
FCKEditorは素晴らしいテキストエディタ(Webベース)です。スペルチェック機能があります。