Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

deraldo

Cor de ListBox

Recommended Posts

Como faço para alterar a cor de apenas um item em uma listbox? Exemplo, tenho tres itens em uma listbox:1 - Musica2 - Vinheta3 - ComercialQuero mudar apenas a cor do item 2 (Vinheta). Alguém poderia me ajudar? Estou desenvolvendo em C#.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia este tópico: http://forum.imasters.com.br/index.php?showtopic=176356

 

Mude a propriedade DrawMode da ListBox para OwnerDrawFixed e coloque o seguinte no evento DrawItem da ListBox:

 

ListBox lb = sender as ListBox;Brush cor = e.Index == 1 ? Brushes.Red : Brushes.Black;e.DrawBackground();e.Graphics.DrawString(lb.Items[e.Index].ToString(), e.Font, cor, e.Bounds.Left, e.Bounds.Top);e.DrawFocusRectangle();

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, funcionou, mas quero mudar a cor do item selecionado, e não de um item fixo, como no exemplo que você mandou. Aonde altero para isso acontecer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente seria neste método mesmo. Note que a linha...

 

Brush cor = e.Index == 1 ? Brushes.Red : Brushes.Black;

... é que indica a cor do item. Quando o índice do item (e.Index) é 1 (ou seja, o segundo item), a cor é vermelha (Brushes.Red) e em qualquer outro caso a cor vai ser preta (Brushes.Black). Provavelmente é aí que você vai ter que mexer para definir a cor do item selecionado.

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.