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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
listeStatut.Rows[e.RowIndex].Cells[e.ColumnIndex+1].Value = cdialog.Color.ToArgb();
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[0].Style.BackColor = Color.FromArgb(Convert.ToInt32(listeStatut.Rows[e.RowIndex].Cells[2].Value));
Donc ça fonctionne

Les informations sont stockés dans une variable de class Statuts qui est stocké dans une class Configuration (voir plus bas)
Je sauvegarde mes données dans un fichier json, voici comment c'est sauvegardé :
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);
Un extrait du fichier Json
...
"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 :
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);
Voici le texte saisis dans ma cellule : Color [A=255, R=255, G=0, B=0]
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>();
    }