DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンボボックスの幅を変更するには?

分類:[.NET]

.NETを使用してコンボボックスのドロップダウンした際の幅を変更したい
のですが、可能でしょうか?

VB6.0の際はAPIを使用しておりました。
.NETの場合はどの様に記述すれば良いかを教えて頂けないでしょうか?

宜しくお願い申し上げます。
.NETの場合は超簡単です。(もう解決されていると思いますが)

ComboBox1.DropDownWidth = 120

●使用例
  '---------+---------+---------+---------*---------+---------+---------+
  'コンボListの幅を保持しているItemの最大長に合わせる
  '---------+---------+---------+---------*---------+---------+---------+
  Private Shared Sub AdjustComboListWidth(ByVal targetCombo As ComboBox)
    Dim g As Graphics = targetCombo.CreateGraphics()
    Dim f As Font = targetCombo.Font
    Dim max As Single = targetCombo.Width
    Dim s As String

    For Each s In targetCombo.Items
      max = Math.Max(max, g.MeasureString(s, f).Width)
    Next

    targetCombo.DropDownWidth = CInt(max)
  End Sub

DOBON.NET | プログラミング道 | プログラミング掲示板