IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Couleur des textes dans une ListBox


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 96
    Points
    96
    Par défaut Couleur des textes dans une ListBox
    Bonjour.

    Je cherche à affecter une couleur différente aux items d'une ListBox.
    Comment puis-je faire ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    en cherchant

    Je dirais que si le composant n'offre pas celà de façon native, il faut surement surcharger un OnPaint() quelconque

    Pour la listbox, DrawMode = OwnerDraw...

    Brancher event sur le DrawItem

    et mettre un code genre celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
            {
     
     
                e.DrawBackground();
                string txt = listBox1.Items[e.Index].ToString();
                if (e.Index == 4)
                {
                    SolidBrush br = new SolidBrush(Color.Red);
                    e.Graphics.DrawString(txt, listBox1.Font, br, e.Bounds);
                }
                else
                {
                    e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), listBox1.Font, new SolidBrush(Color.Black), e.Bounds);
                }
            }
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre régulier
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 96
    Points
    96
    Par défaut
    Merci, je viens d'en arriver là et c'est OK.
    Reste à fignoler.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Couleur des lettres dans une zone de texte
    Par stepofwolf dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/05/2011, 06h56
  2. Changer la police et couleur d'un texte dans une listbox
    Par kaisser dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/11/2009, 18h11
  3. Attribuer des valeurs dans une ListBox
    Par OjBarbare dans le forum MFC
    Réponses: 5
    Dernier message: 06/12/2005, 11h28
  4. Réponses: 5
    Dernier message: 15/04/2005, 14h22
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo