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

VB.NET Discussion :

forecolor et backcolor ne fonctionne pas


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut forecolor et backcolor ne fonctionne pas
    Bonjour, lorsque j'exécute le code si dessous avec la ListView1 dans le Form2 qui va avec, ça affiche bien les numéro de 1 à 13 mais ça change pas les couleurs, pourquoi? merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Form2.ListView1.Items.Add(New ListViewItem(New String() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"}))
     
            Form2.ListView1.Items(0).SubItems(5).ForeColor = Color.Red
            Form2.ListView1.Items(0).SubItems(6).BackColor = Color.Red
            Form2.Refresh()
            Form2.Show()
        End Sub
    End Class

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Il faut definir la propriété UseItemStyleForSubItems du listviewitem à false puis ensuite chaque subitems pourra avoir son propre itemStyle (backcolor et/ou forecolor).

    Bon codage++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    ça fonctionne pour le backcolor mais pas sur le forecolor.

    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
    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Form2.ListView1.Items.Add(New ListViewItem(New String() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"}))
     
            For i As Integer = 0 To (Form2.ListView1.Items.Count - 1)
                Form2.ListView1.Items(i).UseItemStyleForSubItems = False
            Next
     
            Form2.ListView1.Items(0).SubItems(5).ForeColor = Color.Red
            Form2.ListView1.Items(0).SubItems(6).BackColor = Color.Red
            Form2.Refresh()
            Form2.Show()
        End Sub
    End Class

  4. #4
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Pour ajouter forecolor et backcolor dans listview1. il faudra ajouter ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i As Integer = 0 To (Form2.ListView1.Items.Count - 1)
                Form2.ListView1.Items(i).UseItemStyleForSubItems = False
                Form2.ListView1.Items(i).SubItems(5).ForeColor = Color.Red
                Form2.ListView1.Items(i).SubItems(6).BackColor = Color.Red
            Next
            Form2.Show()
    cordialement,

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Citation Envoyé par Miska59 Voir le message
    Pour ajouter forecolor et backcolor dans listview1. il faudra ajouter ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i As Integer = 0 To (Form2.ListView1.Items.Count - 1)
                Form2.ListView1.Items(i).UseItemStyleForSubItems = False
                Form2.ListView1.Items(i).SubItems(5).ForeColor = Color.Red
                Form2.ListView1.Items(i).SubItems(6).BackColor = Color.Red
            Next
            Form2.Show()
    cordialement,
    Merci de vos propositions mais hélas ça ne change rien.

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut
    Citation Envoyé par road-runner Voir le message
    .... mais hélas ça ne change rien.
    ForeColor = Color.Reds'applique à l'encre des caractères,
    BackColor = Color.Reds'applique au fond de la cellule,
    Rouge sur rouge ? là je fait du blanc surdu presque blanc, pas très lisible non ?

    Motif de l'édit: . . . .
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,


    Peut-être dois-tu reprendre une syntaxe plus basique pour effectuer tes tests.

    Le code suivant fonctionne très bien comme tu peux en juger avec l'illustration :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Public Class Form1
     
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Form2.ListView1.View = View.Details                 ' Mode d’affichage : IMPORTANT
            Form2.ListView1.Clear()                             ' Clear seulement pôur les essais successifs
     
            Form2.ListView1.HeaderStyle = ColumnHeaderStyle.None ' C'est bien de créer les colonnes
            For i = 0 To 10
                Form2.ListView1.Columns.Add("")                 ' Mais on  peut se passer des entêtes de colonne
            Next
     
            Dim UneLigne As ListViewItem
     
            For i = 0 To 5                                      ' 6 lignes pour le test
                UneLigne = Form2.ListView1.Items.Add(i + 1)
                For j = 0 To 12
                    UneLigne.SubItems.Add(j + 1)
                Next
            Next
     
            For i As Integer = 0 To (Form2.ListView1.Items.Count - 1)
                Form2.ListView1.Items(i).UseItemStyleForSubItems = False
                Form2.ListView1.Items(i).SubItems(5).ForeColor = Color.Red
                Form2.ListView1.Items(i).SubItems(6).BackColor = Color.Red
            Next
     
            Form2.Show()    ' HORS DE LA BOUCLE !!!
        End Sub
     
     
    End Class
    Nom : ListView.jpg
Affichages : 169
Taille : 23,8 Ko

    J'espère que ceci te permettra d'avancer ...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Citation Envoyé par Phil Rob Voir le message
    Bonjour,


    Peut-être dois-tu reprendre une syntaxe plus basique pour effectuer tes tests.

    Le code suivant fonctionne très bien comme tu peux en juger avec l'illustration :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Public Class Form1
     
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Form2.ListView1.View = View.Details                 ' Mode d’affichage : IMPORTANT
            Form2.ListView1.Clear()                             ' Clear seulement pôur les essais successifs
     
            Form2.ListView1.HeaderStyle = ColumnHeaderStyle.None ' C'est bien de créer les colonnes
            For i = 0 To 10
                Form2.ListView1.Columns.Add("")                 ' Mais on  peut se passer des entêtes de colonne
            Next
     
            Dim UneLigne As ListViewItem
     
            For i = 0 To 5                                      ' 6 lignes pour le test
                UneLigne = Form2.ListView1.Items.Add(i + 1)
                For j = 0 To 12
                    UneLigne.SubItems.Add(j + 1)
                Next
            Next
     
            For i As Integer = 0 To (Form2.ListView1.Items.Count - 1)
                Form2.ListView1.Items(i).UseItemStyleForSubItems = False
                Form2.ListView1.Items(i).SubItems(5).ForeColor = Color.Red
                Form2.ListView1.Items(i).SubItems(6).BackColor = Color.Red
            Next
     
            Form2.Show()    ' HORS DE LA BOUCLE !!!
        End Sub
     
     
    End Class
    Nom : ListView.jpg
Affichages : 169
Taille : 23,8 Ko

    J'espère que ceci te permettra d'avancer ...
    voila ton code fonctionne, mon problème été situé lors de la création manuel de la listview1, je l'ai bazardé et super ça marche, comprend pas pq, merci

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Citation Envoyé par road-runner Voir le message
    voila ton code fonctionne, mon problème été situé lors de la création manuel de la listview1, je l'ai bazardé et super ça marche, comprend pas pq, merci
    encore une chose comment faire apparaitre les titres des colonnes.

  10. #10
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    T'inquiète pas ProgElect ..., j'ai aussi mis le pied dans ce piège

  11. #11
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Pour les titres de colonnes, tu peux les écrire dans la ligne ... Columns.Add ..., au lieu de chaine vide.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Oui mais ça fait rien, sais-tu essayer de ton côté, vais devoir t'envoyer des chocolats ;-)

  13. #13
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Non, ça ne fait rien .... c'est comme ça quand on répond trop vite sur son Smart, on oublie des trucs ...


    Il faut aussi enlever une ligne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ' ... ... ...
            '     Form2.ListView1.HeaderStyle = ColumnHeaderStyle.None
            For i = 0 To 10
                Form2.ListView1.Columns.Add("Le titre de cette colonne")                 
            Next
    ' ... ... ...



Discussions similaires

  1. tabPage backcolor ne fonctionne pas
    Par davjan dans le forum Débuter
    Réponses: 2
    Dernier message: 20/01/2010, 09h54
  2. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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