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 :

[C# 2.0] Couleur de fond dans une listView


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club Avatar de OtI$
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Points : 32
    Points
    32
    Par défaut [C# 2.0] Couleur de fond dans une listView
    Salut!
    Je voudrais modifier la couleur de fonc de certains de mes SubItems dans une listview, et pour cela j'utilise l'event: listview_DrawSubItem():
    Ca donne cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private void lvgantt_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
            {
                if (e.SubItem.Text.Equals(""))
                {
                    e.SubItem.BackColor = Color.Blue;
                }
                else e.DrawDefault=true;
            }
    Le problème, c'est que le prog passe bien dans cet event, mais n'affiche aucune couleur dans les subItems désirés. J'ai beau cherché, je ne vois pas.
    quelqu'un a t il rencontré ce problème?

    Merci a tous
    Bye
    Greg

  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 194
    Points
    5 194
    Par défaut
    a priori, tu ne peux pas avoir des couleurs différentes par colonnes
    dans un listview de base

    Par contre, les lignes peuvent avoir des couleurs différentes

    The Monz, Toulouse

  3. #3
    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 194
    Points
    5 194
    Par défaut
    J'comprends pas un truc, si tu veux que ton event DrawSubItem soit
    appelé, il faut que tu passes en OwnerDraw au niveau de ton composant...

    J'ai fait cela, et ca "marche" bien pour les couleurs

    (par contre, apres, faut se gérer le Draw des colonnes, etc...)

    The Monz, Toulouse

  4. #4
    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 194
    Points
    5 194
    Par défaut
    j'ai fait cela

    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
    18
    19
    private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
            {
                Trace.WriteLine("DrawSubItem");
                if (e.SubItem.Text == "nicolas")
                {
                    e.SubItem.BackColor = Color.Red;
                }
                e.DrawDefault = true;
            }
     
            private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
            {
               // e.DrawDefault = true;
            }
     
            private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
            {
                e.DrawDefault = true;
            }
    Si je decommente le e.DrawDefault = true du drawItem, j'ai pas les couleurs
    par colonne... mais si il est commenté, c ok. mes colonnes ont des couleurs
    différentes...

    Donc, pour moi, c possible... et ca à l'air de bien marché....

    Juste l'impression que le DrawItem fout un peu le souk

    The Monz, Toulouse

Discussions similaires

  1. Pas de changement de couleur au clic dans une ListView
    Par profecie dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 02/11/2011, 17h57
  2. [WD10] Changer la couleur de fond d'une ligne dans une table memoire
    Par Techys dans le forum WinDev
    Réponses: 17
    Dernier message: 22/09/2011, 11h12
  3. [WD12] Mettre une couleur de fond dans un champ d'un etat
    Par galsen.quebec dans le forum WinDev
    Réponses: 2
    Dernier message: 01/06/2011, 15h08
  4. Réponses: 0
    Dernier message: 08/12/2008, 19h41
  5. Couleur de fond dans une zone de liste
    Par kornkiller dans le forum Access
    Réponses: 1
    Dernier message: 08/08/2006, 20h50

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