お世話になっております。環境はVB.NETです。
Widthに50をDropDownWidthに400を設定してあるコンボボックスがあります。
このコンボボックスでドロップダウンでテキストを選択し、400の幅から
50の幅に戻ると文字の右側しか表示がされません。これを左側より表示す
る方法はないでしょうか。
コンボボックスの内容
AAAAA ああああああああ
BBBBB いいいいいいいい
フォーカス時(1行目選択でドロップダウンより戻った状態)
あああ
フォーカス移動時
AAAAA
うまく説明できないのですが、このようなことです。ドロップダウンから
戻った状態でも"AAAAA"が表示できるようにしたいのですが、何かいい方法
があれば、ご指導ください。よろしくお願いします。
スマートではありませんが、とりあえずこれで実現できます。
Private Sub Combo1_GotFocus()
Timer1.Interval = 100
End Sub
Private Sub Combo1_LostFocus()
Timer1.Interval = 0
End Sub
Private Sub Timer1_Timer()
Combo1.SelStart = 0
End Sub
文字列を編集する必要がない場合は、DropDownStyleプロパティを、
既定値のDropDownから、DropDownListに変更してみてください。
DropDownListであれば、常に文字の「左側」が表示されるはずです。
あるいは、複数列対応のコンボボックスにしてしまうのも手かも知れません。
つまり、ToString()で「AAAAA」を返すようなデータを作り、ドロップダウン時には
「AAAAA ああああああああ」と表示させるようにする、と。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200309/03090008.txt
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200311/03110067.txt
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200312/03120132.txt
花ちゃんさん、魔界の仮面弁士さんありがとうございました。
お二人に教えていただいた方法を試させていただきました。
今回は複数列対応のコンボボックスを採用させていただきました。
過去ログのコードの一部をいただき、これを編集することで実現したかった
動きを作ることができました。
これもヒントは過去ログにあったんですね。過去ログは見たつもりだった
のですが、これでは見たうちに入りませんね。申し訳ありません。
以後は気をつけますので、これからもよろしくお願いします。
ツイート | ![]() |