0
私は助けてくれることがあります。コンボボックスの項目の前に、32X32または16X16ピクセルのような小さな画像を設定する必要のあるプロジェクトを作成しています。 ありがとうございます。小さな画像をコンボボックスの項目の前に置く方法は?
私は助けてくれることがあります。コンボボックスの項目の前に、32X32または16X16ピクセルのような小さな画像を設定する必要のあるプロジェクトを作成しています。 ありがとうございます。小さな画像をコンボボックスの項目の前に置く方法は?
このリンクはあなたを助けることがあります。その後、VBで、OwnerDrawするとしてあなたのコンボを設定することを行うにはhttp://www.codeproject.com/Articles/10670/Image-ComboBox-Control
編集、、:それは2008年の言語、そのCまたはCをVBされていない
protected Overrides Sub OnDrawItem(ByVal e As System.Windows.Forms.DrawItemEventArgs)
e.DrawBackground()
e.DrawFocusRectangle()
Dim item As New ComboBoxIconItem
Dim imageSize As New Size
imageSize = ListaImg1.ImageSize
Dim bounds As New Rectangle
bounds = e.Bounds
Try
item = Me.Items(e.Index)
If (item.ImageIndex <> -1) Then
Me.ImageList.Draw(e.Graphics, bounds.Left, _
bounds.Top, item.ImageIndex)
e.Graphics.DrawString(item.Text, e.Font, _
New SolidBrush(e.ForeColor), bounds.Left + _
imageSize.Width, bounds.Top)
Else
e.Graphics.DrawString(item.Text, e.Font, _
New SolidBrush(e.ForeColor), bounds.Left, _
bounds.Top)
End If
Catch ex As Exception
If (e.Index <> -1) Then
e.Graphics.DrawString(Items(e.Index).ToString(), e.Font, _
New SolidBrush(e.ForeColor), bounds.Left, bounds.Top)
Else
e.Graphics.DrawString(Text, e.Font, _
New SolidBrush(e.ForeColor), bounds.Left, bounds.Top)
End If
End Try
MyBase.OnDrawItem(e)
End Sub
私の事++役に立たなかったですが、迅速な対応に感謝します。 –
それはC#で、そのアイデアを提供し、VBに変換するのは簡単です。 – vulkanino
ownerdrawはプロパティです。あなたのコンボ名をownerdrawとして設定しないでください! – vulkanino