' Array of colors the combobox/listbox is bound to Private RainbowColors As Color() = {Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet} Private Sub lstColors_DrawItem(sender As Object, e As System.Windows.Forms.DrawItemEventArgs) Handles lstColors.DrawItem ' Use White text for selected items ' and black for the others. Dim brText As Brush If(e.State And DrawItemState.Selected) = DrawItemState.Selected Then brText = Brushes.White Else brText = Brushes.Black End If ' Have Windows draw the background. e.DrawBackground() ' Create a 15 by 10 pixel rectangle, ' slightly offset from the list item. Dim rct As New Rectangle(e.Bounds.X + 5, e.Bounds.Y + 5, 15, 10) ' Create a brush of the correct color ' to fill in a rectangle to the ' left of the text. ' Draw and fill the rectangle for the color. e.Graphics.DrawRectangle(Pens.Black, rct) Dim brColor As New SolidBrush(RainbowColors(e.Index)) Try e.Graphics.FillRectangle(brColor, rct) Finally brColor.Dispose() End Try ' Draw the text next to the rectangle. e.Graphics.DrawString(RainbowColors(e.Index).Name, lstColors.Font, brText, rct.Left + rct.Width + 5, e.Bounds.Y) ' Have Windows draw the dotted focus rectangle. e.DrawFocusRectangle() End Sub>Hello,