Разноцветные итемы в ListBox

Пример взят с MSDN

Public Class Form1
    Private Sub ListBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
        'Рисуем фон элемента управления ListBox для каждого элемента.
        e.DrawBackground()
        'Цвет кисти по умолчанию черный
        Dim myBrush As Brush = Brushes.Black
        'Задаем цвет для трех итемов
        Select Case e.Index
            Case 0
                myBrush = Brushes.Red
            Case 1
                myBrush = Brushes.Orange
            Case 2
                myBrush = Brushes.Purple
        End Select
        'Рисуем текст.
        e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed 'Задаем режим для рисования элемента
        ListBox1.Items.AddRange({"VB.NET", "C#.NET", "F#.NET"})
    End Sub
End Class

ListBoxDrawItem Разноцветные итемы в ListBox

  Метки:
  Евгений
  Просмотров: 3 464
  Запись опубликована в 11:30

2 комментария

  • Не работает! Где примеры и обяснения? Тупо украл код с МДСН и рад!

  • Да, действительно не работает. Забыл дописать режим рисования элемента для ListBox, т.к у себя это свойство я выставил в ручную. Моя ошибка, исправил.

    Украл? Вы хоть знаете суть этого слова?
    Не "МДСН", а МСДН (Microsoft Developer Network), вот видите и я по той же невнимательности допустил ошибку.

Есть что сказать? Тогда действуй!


:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-o :-P :-D :-? :) :( :!: 8-O 8)