ユーザーの以前のすべてのエントリを記憶し、オートコンプリートをサポートするテキスト コントロールでオートコンプリートをサポートするライブラリを探しています。
たとえば、「最近のファイル」にはhttp://www.genghisgroup.com/を使用していますが、うまく機能します。この目的のためにそのようなことを知っていますか?
更新:これは .NET Winforms アプリケーションで、通常のテキスト コントロールを使用しています。
ユーザーの以前のすべてのエントリを記憶し、オートコンプリートをサポートするテキスト コントロールでオートコンプリートをサポートするライブラリを探しています。
たとえば、「最近のファイル」にはhttp://www.genghisgroup.com/を使用していますが、うまく機能します。この目的のためにそのようなことを知っていますか?
更新:これは .NET Winforms アプリケーションで、通常のテキスト コントロールを使用しています。
.NET TextBox に組み込まれているのは、オートコンプリート機能です。最初に AutoCompleteMode プロパティ (Suggest、Append など) を設定し、次に AutoCompleteSource を選択します。そのための選択肢は次のとおりです。
FileSystem HistoryList RecentUsedList AllUrl AllSystemSources FileSystemDirectories CustomSource なし ListItems
あなたの場合、CustomSource を使用してから、TextBox のプロパティである AutoCompleteCustomSource Collection を設定します。ユーザーが過去に入力した値を保存できる単純な SqlCe データベースを用意し、アプリが読み込まれると、それらの値を取得して、AutoCompleteCustomSource に入力することをお勧めします。
簡単なコード サンプル:
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
this.textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
string[] items = GetListForCustomSource();
this.textBox1.AutoCompleteCustomSource.AddRange(items);
}
private string[] GetListForCustomSource()
{
var result = new List<string>();
foreach(var value in Enum.GetNames(typeof(DayOfWeek)))
{
result.Add(value);
}
return result.ToArray();
}
例として DayOfWeek を使用しましたが、そのメソッドでデータベースにクエリを実行し、結果を返すことができます。
ソースコードをダウンロードして、最近のファイルを見てください。なんらかの形式の永続ストア (データベース、ファイルなど) に保存し、その情報を使用してリストに入力していることは間違いありません。機能を複製して、ファイルではなく単語に焦点を当てた TextBox にします。
私はジンギスのソースを見たことはありませんが、同様の機能を持つコントロールを実行してだますのは簡単だと確信しています。これを行うときは、Genghis グループに連絡して提出物として提供してください。それが私たちがオープンソースをサポートする方法です。