フォームにTComboBoxがあります。そのStyleプロパティはcsDropDownListに設定されています。ドロップダウンを開き、マウスまたはキーボードでオプションを選択してEnterキーを押すと、ドロップダウンボックスが閉じて、KeyPressイベントハンドラが起動する前にItemIndexプロパティが変更されます。 Tabキーを押した場合、KeyPressイベントハンドラが起動してフォーカスがコントロールから外れてItemIndexが更新されない限り、ドロップダウンは消えません。リストを開く前に選択されたものに戻ります。現在の位置を失うことなく、TABキーをTComboBoxで閉じるようにするにはどうすればよいですか?
ItemIndexをドロップダウンリストで現在選択されているものに更新したい場合、どのように実装すればよいですか?
私は見つけるそれあなたがスティーブンはあなたの後ろに座っている、特に以来、として一般的に最も一般的な答えをスティーブンとフランソワとの質問をすることを面白いです。 –
キーボードを使用してコンボボックスの値を選択している場合は、キーボードのみの使用を検討し、コンボボックスのドロップダウンはしないでください。上下の矢印を押すことで、選択した項目(およびItemIndexプロパティ値)を直接変更することができ、タブも正常に機能します。合意した、あなたはドロップダウンの項目のリストを監視していないが、項目がたくさんある場合、インターフェースアーキテクトはコンボボックスがジョブの正しいコントロールであるかどうか疑問に思うはずだ。 –
StijnとSkamradtに同意し、これらのコメントに沿って、(デフォルト動作が明らかに非標準でない限り)共通のインタフェース要素のデフォルト動作を変更することにかなり躊躇してください。 – Argalatyr