2009-06-03 14 views
3

私は多くのTextBoxオートコンプリートを使用するコントロールを持つアプリケーションを持っています。それぞれAutoCompleteMode.CustomSourceを使用して、関連するAutoCompleteStringCollectionからオートコンプリートテキストを取得します。編集可能なTextBoxのオートコンプリートリストを作成するにはどうすればよいですか?

ユーザがTextBoxに新しい値を入力すると、関連付けられたAutoCompleteStringCollectionに追加され、セッションの最後にこれらのすべてのコレクションがユーザのホームディレクトリ内のファイルに保存されます。

問題は、それらのコレクションのエラーを修正する方法がないことです。 IEでは、オートコンプリートコントロール付き入力コントロールを使用してオートコンプリートリスト内の項目にスクロールさせ、Delを押して削除します。これは.NETコントロールでは機能しません。

私は本当に自分のUIを実装する必要はありません。私は立ち往生ですか?私が見ていないこれを可能にする方法はありますか?

+0

私の不満はありますが、どのように提案がありますか?オートコンプリートを開発する私の唯一の経験は、ASP.NET AJAXツールキットによるものであり、そのコンポーネントがWebサービスからの提案を取得して以来、それを編集する方法はないと思う。 もちろん、私は間違っている可能性があります。 –

+0

彼は様々なソースからオートコンプリートをサポートしているASP.NETではなく、Windowsフォームを使用しています –

答えて

2

すぐに使用できますが、残念なことにこれを行うことはありません。私は実際のドロップダウンにハンドルを得ることができるかどうかを見るためにP/Invokingの基本的なFindWindowEx/EnumChildWindowsを試みましたが、失敗しました(もし誰かがこれを引き出すことができれば私に教えてください!良いニュースは、オートコンプリートがあなた自身が完全に実装しなければならないものではない(それほど良いことではありませんが、ひどいわけではありません)。実際にはSHAutoCompleteというWin32関数があります。あまりにも興奮してはいけません.P/Invokingと同じくらいシンプルではないので、やってみましょう。しかし、偉大なあなたを助けるべきである大きいCodeProject articleがあります。

+1

これは素晴らしい記事です。ありがとうございます。これは明らかにいくつかの掘り出し物を取るつもりです。 –

関連する問題