Entwickler-Ecke
WinForms - Items der Listbox einfärben
NostrA90 - Sa 18.04.09 19:44
Titel: Items der Listbox einfärben
Guten Abend,
Hab da gerade ein Problem, und zwar möchte ich Items einer Listbox hinzufügen, diesen Items möchte ich gerne eine Farbe bzw. Forecolor zuweisen. Mein Buch und Google weiß keinen Rat (bestimmt such ich mal wieder unter den falschen Befehlen :/ ).
Also im Endeffekt möchte ich eine Listbox erstellen die nach hinzufügen der Items (während das Programm läuft) in etwa so aussieht wie im Anhang.
(Sorry für meine Unwissenheit aber arbeite mich erst seit kurzem in C# ein)
Danke im vorraus für eure Hilfe
MFG Nostra90
Christian S. - Sa 18.04.09 20:06
Hi!
Dazu musst Du in WinForms die Items leider selber zeichnen. Um das zu tun setzt Du den
DrawMode der Listbox auf
OwnerDrawFixed und reagierst dann auf das
DrawItem-Event der Listbox.
In dem Event kannst Du z.B. das hier machen:
Delphi-Prism-Quelltext
1: 2: 3:
| e.DrawBackground; e.Graphics.DrawString(ListBox(sender).Items[e.Index].ToString, e.Font, Brushes.Beige, e.Bounds.Left, e.Bounds.Top); e.DrawFocusRectangle; |
Das würde alles in Beige zeichnen, die Farbe kannste natürlich machen wie Du willst ;-)
(Der Quellcode ist kein C#, geht da aber genauso)
Grüße
Christian
JüTho - Di 21.04.09 12:39
Hallo,
für solche Anforderungen ist übrigens
CodeProject [
http://www.codeproject.com] eine gute Adresse. (Alle dort vorgestellten Lösungen benutzen übrigens Christians Verfahren; du kannst auch Lösungen für ComboBox verwenden, das geht genauso.)
Gruß Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!