MyTetra Share
Делитесь знаниями!
Форматирование цвета и шрифта ListBox и ComboBox
Время создания: 08.04.2018 14:47
Текстовые метки: vb,ListBox, ComboBox
Раздел: VB - Формы

Форматирование цвета и шрифта ListBox и ComboBox

Опубликовано Декабрь 7, 2015 автором Памирыч


Change font and forecolor of an ListBox (ComboBox) item / VB .NET


Как раскрасить элементы списка в разные цвета


Visual Basic .NET

Dim BM As New Bitmap("C:\87987.png")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim R As New Random

ListBox1.DrawMode = DrawMode.OwnerDrawFixed

ComboBox1.DrawMode = DrawMode.OwnerDrawFixed

For I As Integer = 1 To 20

ListBox1.Items.Add(R.Next(0, 101))

ComboBox1.Items.Add(R.Next(0, 101))

Next

End Sub

Private Sub ListBox1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem

e.DrawBackground()

Dim fname As String = ListBox1.Items.Item(e.Index).ToString

Dim r As New Rectangle(e.Bounds.Location, New Size(e.Bounds.Width, e.Bounds.Height))

If fname Mod 2 = 0 Then

e.Graphics.DrawImage(BM, r)

End If

If fname = TextBox1.Text Then

e.Graphics.FillRectangle(Brushes.Red, r)

End If

Dim fnt As Font

If TextBox1.Text <> "" AndAlso e.Index = TextBox1.Text Then

fnt = New Font("Times new roman", ListBox1.Font.Size, FontStyle.Italic, GraphicsUnit.Point)

Else

fnt = ListBox1.Font

End If

e.Graphics.DrawString(fname, fnt, New SolidBrush(e.ForeColor), r)

e.DrawFocusRectangle()

End Sub



Так же в этом разделе:
 
MyTetra Share v.0.53
Яндекс индекс цитирования