Bonjour,
Je sauvegarde une Color dans un fichier Json mais je n'arrive pas à la réutiliser
Phase 1 (qui fonctionne)
J'ai une form qui ouvre ColorDialog.
Je récupère la couleur sélectionnée pour le placer dans un datagridview (la valeur enregistré est un entier)
Je coloris une cellule avec la couleur sélectionnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part listeStatut.Rows[e.RowIndex].Cells[e.ColumnIndex+1].Value = cdialog.Color.ToArgb();
Donc ça fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part listeStatut.Rows[e.RowIndex].Cells[0].Style.BackColor = Color.FromArgb(Convert.ToInt32(listeStatut.Rows[e.RowIndex].Cells[2].Value));
Les informations sont stockés dans une variablede class Statuts qui est stocké dans une class Configuration (voir plus bas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Color fond
Je sauvegarde mes données dans un fichier json, voici comment c'est sauvegardé :
Un extrait du fichier Json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string jsonSerializedObj = JsonConvert.SerializeObject(configuration, Formatting.Indented); System.IO.File.WriteAllText(Application.StartupPath + @"\configuration.json", jsonSerializedObj);
...
"fond": "255, 0, 0",
...
Phase 2 (qui pose problème)
Au chargement du form (load), démarrage du programme, je charge le fichier Json dans les même class que tout à l'heure
Quand je veux récupérer la couleur pour colorier une cellule je n'y arrive pas (écrire dans la cellule ne pose pas de problème), j'utilise :
Voici le texte saisis dans ma cellule : Color [A=255, R=255, G=0, B=0]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 p.listeStatut.Rows[y].Cells[2].Value = s.fond; p.listeStatut.Rows[y].Cells[0].Style.BackColor = Color.FromArgb(s.fond);
La variable s.fond est bien une Color (il y a bien les paramètres A R G B & Name de renseignés et qui correspondent)
Voici donc mon problème avec ColorFromName ne donne pas de bon résultat, ni avec Color.FromArgb et même sans rien mettre (directement s.font vu que c'est une Color). soit ma sauvegarde n'est pas optimisée soit ma gest pour l'affichage n'est pas bon
Par avec merci pour votre aide
Voici mes class que j'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class Statuts { public string statut = ""; public Color? fond = null; public Color? police = null; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class Configuration { public Boolean positionRelative = false; public Boolean supprimeDansHistorique = true; public List<Statuts> lesStatuts = new List<Statuts>(); }
Partager