Problème couleur de fond du DataGridView suite à l'event Scroll
Fermé
New31000
Messages postés
4
Date d'inscription
mardi 19 mars 2019
Statut
Membre
Dernière intervention
21 mars 2019
-
Modifié le 19 mars 2019 à 17:28
Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 - 21 mars 2019 à 18:42
Whismeril Messages postés 18279 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mars 2023 - 21 mars 2019 à 18:42
A voir également:
- Problème couleur de fond du DataGridView suite à l'event Scroll
- Somme si couleur - Guide
- Iphone 14 couleur - Guide
- La boite a couleur - Télécharger - Divers Photo & Graphisme
- Scroll lock ✓ - Forum Windows
- Nb si couleur ✓ - Forum Excel
2 réponses
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
19 mars 2019 à 16:41
19 mars 2019 à 16:41
Bonjour
Peux tu montrer le code qui donne le résultat avant le scroll?
Peux tu montrer le code qui donne le résultat avant le scroll?
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
19 mars 2019 à 21:03
19 mars 2019 à 21:03
OK,
parlons déjà de ça
tu fais une succession de conversions et de cast. Ça prend du temps d'exécution, des ressources et du temps d'écriture.
Si au load, ou après avoir affecté tes variables "couleur logiciel", tu faisais une fois pour toute cette conversion, en la stockant dans une variable ça serait mieux.
En plus là tu as 6 fois la même ligne, y'a juste un chiffre qui change, une boucle For serait appropriée.
Mais il me semble (je ne fais plus de winform depuis un moment) qu'on peut affecter le background d'une ligne entière.
https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.datagridviewrow.defaultcellstyle?view=netframework-4.7.2#System_Windows_Forms_DataGridViewRow_DefaultCellStyle
Cela dit, ça ne répond pas à ma question, je t'ai demandé comment ton datagridview est rempli, pas comment il est coloré.
parlons déjà de ça
Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String)))
tu fais une succession de conversions et de cast. Ça prend du temps d'exécution, des ressources et du temps d'écriture.
Si au load, ou après avoir affecté tes variables "couleur logiciel", tu faisais une fois pour toute cette conversion, en la stockant dans une variable ça serait mieux.
En plus là tu as 6 fois la même ligne, y'a juste un chiffre qui change, une boucle For serait appropriée.
Mais il me semble (je ne fais plus de winform depuis un moment) qu'on peut affecter le background d'une ligne entière.
https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.datagridviewrow.defaultcellstyle?view=netframework-4.7.2#System_Windows_Forms_DataGridViewRow_DefaultCellStyle
Cela dit, ça ne répond pas à ma question, je t'ai demandé comment ton datagridview est rempli, pas comment il est coloré.
New31000
Messages postés
4
Date d'inscription
mardi 19 mars 2019
Statut
Membre
Dernière intervention
21 mars 2019
21 mars 2019 à 15:09
21 mars 2019 à 15:09
En fait, c'est pas un problème de remplissage du DataGridView.
Le problème c'est pendant que je scroll, ça me mélange toutes les cellules du chat ainsi que les couleurs.
Merci
Le problème c'est pendant que je scroll, ça me mélange toutes les cellules du chat ainsi que les couleurs.
Merci
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
21 mars 2019 à 18:42
21 mars 2019 à 18:42
Peut être, mais je ne peux pas (et personne d’ailleurs) tester chez moi ce qui se passe par magie.

19 mars 2019 à 17:25
19 mars 2019 à 17:37
Voir ici https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code , pour corriger ton second message s'il te plait
19 mars 2019 à 17:40
<code> Public Sub remplissage_dgv_chat() For i = 0 To Form_Chat.dgv_chat.RowCount - 1 Form_Chat.dgv_chat.Rows(i).Cells(0).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String))) Form_Chat.dgv_chat.Rows(i).Cells(1).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String))) Form_Chat.dgv_chat.Rows(i).Cells(2).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String))) Form_Chat.dgv_chat.Rows(i).Cells(3).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String))) Form_Chat.dgv_chat.Rows(i).Cells(4).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String))) Form_Chat.dgv_chat.Rows(i).Cells(5).Style.BackColor = Color.FromArgb(toInteger(CType(Couleur_Logiciel_R, String)), toInteger(CType(Couleur_Logiciel_V, String)), toInteger(CType(Couleur_Logiciel_B, String)))</code>