Kan någon se vad felet är i koden, nedan. Du måste göra en owner drawn listbox och rita ut texten och bakgrundsfärgen själv. Jag antar att din kod körs i en loop. Då har du problem eftersom första gång kör du if delen, och sen för varenda iteration kommer du att köra else delen. Flytta lstUnits.ForeColor = System.Drawing.Color.Black; innan din loop. Tackar för era svar, men jag har ännu inte lyckats knäcka problemet. ja det är fel. Liten rättelse:Ändra text alt. bakgrunds färg i listbox
Det jag vill är att om första vilkoret stämmer, vill jag ändra textfärgen alt. bakgrundsfärgen på den raden i listboxen (lstUnits) och annars vill jag ha svart text.
Har försökt lösa det genom att läsa tidigare artiklar i forumet, men får detta med färgerna inte till att fungera ändå.
if ((check == false) && (firstVacant == 0))
{
lstUnits.Items.Add(rowText);
lstUnits.ForeColor = System.Drawing.Color.Green;
firstVacant++;
}
else
{
lstUnits.Items.Add(rowText);
lstUnits.ForeColor = System.Drawing.Color.Black;
}Sv: Ändra text alt. bakgrunds färg i listbox
se bytes.com/forum/thread265105.html
Som gammal c++ programmerare är jag också alergisk mot if (bolvariabel==false). Skriv istället if (!boolvariabel).
/Ruben
www.rjjournal.netSv: Ändra text alt. bakgrunds färg i listbox
Mvh,
TibiSv:Ändra text alt. bakgrunds färg i listbox
Jag har tittat och laddat ner exemplet som finns på länken du skriv Ruben.
Och visst har du rätt Tibi att det går i en loop.
Jag har lagt in följande för att ändra färg på texten, genom att titta på exemplet: Jag får dock felmeddande att e inte existerar. Jag fick då för mig att e motsvarar namnet på listboxen men det var också fel tydligen.
Tilläggas är väl att jag är en nybörjare på programmering.
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(rowText, new Font(FontFamily.GenericSansSerif, 14, FontStyle.Bold), new SolidBrush(Color.Green));
//Johnny
Sv: Ändra text alt. bakgrunds färg i listbox
e är en parameter som skickas in i paint eventet för listboxen.
så koppla in painteventet och lägg koden där.Sv:Ändra text alt. bakgrunds färg i listbox
Det är inte paint eventet utan det är DrawItem eventet för owner drawn list och combo boxar som i och för sig är raised (vad säger man på svenska? triggat kanske?) av paint eventet.
Att tänka på här är också att man tar hänsyn till hur färgerna ska ändras för selectade items. Speciellt då bakgrundsfärgen.
/Ruben
www.rjjournal.net