Hintergrund des selektierten Items der ListBox definieren

Eigenschaft DrawMode != Normal setzen und im DrawItem Ereignis der ListBox zeichnen.

Im EventArgs bekommst du mit welche Indexpostion gerade gezeichnet werden soll und das prüfst du mit der SelectedIndex Eigenschaft der Listbox ab.
 
Code:
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            if (e.State==(e.State |DrawItemState.Selected))
            {
                using (SolidBrush sb = new SolidBrush(Color.Yellow))
                    e.Graphics.FillRectangle(sb, e.Bounds);
            }
            else
            {
                using (SolidBrush sb = new SolidBrush(e.BackColor))
                    e.Graphics.FillRectangle(sb, e.Bounds);
            }

            using (StringFormat sf = new StringFormat())
            {
                sf.LineAlignment = StringAlignment.Near;
                sf.LineAlignment = StringAlignment.Center;
                using (SolidBrush sb = new SolidBrush(e.ForeColor))
                    e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, sb, e.Bounds, sf);
            }
            
        }
 
Zurück