Diskuze: Listbox - různé barvy

C# .NET .NET (C# a Visual Basic) Listbox - různé barvy American English version English version

Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Opět dotaz :). Potřeboval bych aby měl item v listobxu každý item různou barvu. Itemy které už mám přidané jako označené a připravené pro zpracování bych chtěl označit čeveně, ostatní černě. Našel jsem si event DrawItem a vlastnost Draw nastavit na OwnerDrawFixed. V eventu mám toto

e.DrawBackground();
           Graphics g = e.Graphics;

           ListBox send = (ListBox)sender;
           OwnXmlNode item = (OwnXmlNode)send.Items[e.Index];
           string text = item.ToString();
            if (e.State == DrawItemState.Selected)
           {
               g.FillRectangle(new SolidBrush(Color.Blue), e.Bounds);
               g.DrawString(text,
                   e.Font, Brushes.Red, e.Bounds, StringFormat.GenericDefault);
           }
           else
           {
               g.FillRectangle(new SolidBrush(Color.White), e.Bounds);
               g.DrawString(text,
                   e.Font, Brushes.Black, e.Bounds, StringFormat.GenericDefault);
           }

           e.DrawFocusRectangle();

Text se vykreslí v pohodě ale na select, checked, focu to nereagje. Nějaká rada ? Vím, že tam opět bude nějaká malá hloupost :)

Odpovědět 22.4.2013 21:45
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.