コンボボックスでドロップダウンから戻ったときに文字を左よせで表示するには

解決


KP  2004-01-09 02:31:31  No: 81338

お世話になっております。環境はVB.NETです。

Widthに50をDropDownWidthに400を設定してあるコンボボックスがあります。
このコンボボックスでドロップダウンでテキストを選択し、400の幅から
50の幅に戻ると文字の右側しか表示がされません。これを左側より表示す
る方法はないでしょうか。

コンボボックスの内容

AAAAA  ああああああああ
BBBBB  いいいいいいいい

フォーカス時(1行目選択でドロップダウンより戻った状態)

あああ

フォーカス移動時

AAAAA

うまく説明できないのですが、このようなことです。ドロップダウンから
戻った状態でも"AAAAA"が表示できるようにしたいのですが、何かいい方法
があれば、ご指導ください。よろしくお願いします。


花ちゃん  2004-01-09 06:02:09  No: 81339

スマートではありませんが、とりあえずこれで実現できます。

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


魔界の仮面弁士  2004-01-09 08:18:45  No: 81340

文字列を編集する必要がない場合は、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


KP  2004-01-09 21:48:42  No: 81341

花ちゃんさん、魔界の仮面弁士さんありがとうございました。
お二人に教えていただいた方法を試させていただきました。

今回は複数列対応のコンボボックスを採用させていただきました。
過去ログのコードの一部をいただき、これを編集することで実現したかった
動きを作ることができました。

これもヒントは過去ログにあったんですね。過去ログは見たつもりだった
のですが、これでは見たうちに入りませんね。申し訳ありません。

以後は気をつけますので、これからもよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加