Ownerdrawn Listbox

17/11/2009 - 16:59 von Chris Seidel | Report spam
Hallo,

ich habe eine Listbox, bei welcher manche Eintràge nicht auswàhlbar sein
sollen und in grau dargestellt werden sollen.


protected override void OnDrawItem(DrawItemEventArgs e) {
if (Items.Count == 0) return;
Boolean enabled = IsEnabled(e.Index);

if (enabled) e.DrawBackground();
e.Graphics.DrawString(
this.Items[e.Index].ToString(),
e.Font,
enabled ? e.Index == SelectedIndex ? SystemBrushes.HighlightText :
SystemBrushes.WindowText : SystemBrushes.GrayText,
e.Bounds,
StringFormat.GenericDefault);
if (enabled) e.DrawFocusRectangle();

}

Das fkt. soweit, das Dumme ist nur, dass die Farbe der Schrift
SystemBrushes.HighlightText bleibt, wenn ich einen anderen Eintrag
auswàhle. Das ist dann weiß auf weiß - nicht so gut lesbar ;)

Was mache ich falsch?

Danke
 

Lesen sie die antworten

#1 Chris Seidel
17/11/2009 - 20:05 | Warnen spam
On Tue, 17 Nov 2009 16:59:29 +0100, Chris Seidel wrote:

Was mache ich falsch?



Ich benutzte SelectedIndex statt e.State.

Ähnliche fragen