カスタム ドロップダウン データを含むコンボボックスを持つ Windows プログラム (.NET 4.5) があります。私のオートコンプリート タイプは AppendSuggest に設定されているため、顧客は簡単に名前を入力し、Tab キーを押すか Enter キーを押してから、次のボックスに移動して入力できます。
コンボボックスがフォーカスを失う (別のコントロールに移動する) と、プログラムはテキスト ボックス内のテキストを解析します。名前がデータベースに存在する場合は、その人をこのインスタンスに関連付けます。そうでない場合は、データベースにその名前 (適切に大文字と小文字が区別されます) を持つ新しい人を作成します。
タブを押すと、オートコンプリート ボックスが残りのテキストを入力し、データベースに正常に添付されます。ただし、入力ボタンが押された場合、またはさらに重要なことに、顧客がオートコンプリート ドロップダウン リストからユーザーをクリックしようとすると、テキスト ボックスは単純にその中のすべてのテキストを削除し、何も入力せずに次のボックスに移動します。
ユーザーがクリックしたデータを傍受する方法がわかりません。理想的には、ユーザーがドロップダウン リストから項目をクリックしてテキストを入力し、そのテキストを解析して先に進むようにするだけです。
コードも確認しましたが、このコンボボックスからテキストを削除するコードのどこにもありません。舞台裏でそれ自体が起こっているようです。
また、私は C# のある程度の上級プログラマーであり、オートコンプリートを実際に使用したことはありませんが、このような単純なことに困惑していることに困惑しています。