combobox の頭出し機能を付けたい

解決


はやあん  2009-03-27 16:58:36  No: 145835  IP: [192.*.*.*]

combobox  に数百件のデータが設定されており、ドロップダウンで選ぶのに時間が掛かってしまいます。

そこでcomboboxに、頭文字を入力すればその部分までDROPDOWNのリストを移動させたい。

例)
aaaa1
aabb2
bb1
bbb3
ccc1
ccc2
 
とリストが登録されていて、comboboxに「b」と入れた場合は、bb1 を先頭にドロップダウンリストを表示する。

以上、よろしくお願いいたします。

編集 削除
特攻隊長まるるう  2009-03-29 07:45:03  No: 145836  IP: [192.*.*.*]

Item を全削除して
bb1 から追加しなおせば?

編集 削除
はやあん  2009-03-30 08:08:42  No: 145837  IP: [192.*.*.*]

特攻隊長まるるうさん、アドバイスありがとうございます。

質問言葉足らずですみません。
Itemを全削除したのでは、aaaa1,aabb2が消えてしまうかもしくは、後で追加したとしても、SORT順が変わってしまいます。

行いたいことは、Itemの数と並びを変えずに、bb1  の位置が選ばれたようにしたいのです。

以上です。

編集 削除
魔界の仮面弁士  2009-03-30 09:47:33  No: 145838  IP: [192.*.*.*]

> そこでcomboboxに、頭文字を入力すればその部分までDROPDOWNのリストを移動させたい。
入力するということは、
  DropDownStyle = DropDown
という事ですよね。

その場合、ドロップダウン中に文字入力を開始すれば、先頭文字が
一致する要素の位置まで、自動的にスクロールするかと思います。

OS によるかも知れませんが、少なくとも当方 XP では
そういう動きとなりました。

自動スクロールしないようであれば、
  AutoCompleSource = ListItems
  AutocompleteMode = None 以外
にしておく事で代用できるかと思います。(VB2005以上)

編集 削除
はやあん  2009-03-30 12:45:12  No: 145839  IP: [192.*.*.*]

魔界の仮面弁士さん、アドバイスありがとうございます!

AutoCompleSource = ListItems
AutocompleteMode =  Append  

で、理想通りの動きをするようになりました。

ありがとうございました!

編集 削除