Définir la police et la couleur d'une zone de liste élément par le code en C#

Je suis occupé avec une liste personnalisée de la boîte que j'utilise comme un registre lecteur en c#. Maintenant, je veux déterminé un élément dans un élément déterminé avec une autre police et de la couleur que le reste. J'ai vérifié Cette question et à partir des réponses que j'ai fait le code suivant:

private void myListBox_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
    e.DrawBackground();
    Font myFont;
    Brush myBrush;
    int i = e.Index;

    if (e.Index == 3)
    {
        myFont = e.Font;
        myBrush = Brushes.Black;
    }
    else
    {
        myFont = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Bold);
        myBrush = Brushes.CadetBlue;
    }

    e.Graphics.DrawString(myListBox.Items[i].ToString(), myFont, myBrush, e.Bounds, StringFormat.GenericDefault);
}

Et appeler la méthode dans mon IntializeComponent() à l'aide de

this.myListBox.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.myListBox_DrawItem);

L'appel ne pas lever une exception que ce soit, mais je ne vois pas de changement sur la ligne que je veux traiter. Est-il quelque chose que je suis absent?

Essayez d'appeler Invalidate() dans votre combo pour forcer un dessin.
Pouvez-vous confirmer que vous avez ajouté this.myListBox.DrawMode = DrawMode.OwnerDrawFixed;?
stackoverflow.com/questions/6896151/... pourrait aider
c'était le problème!!!!!!! J'ai manqué l'appel 🙂

OriginalL'auteur Marialvy Martínez | 2013-06-24