Changer la couleur du backcolor a l aide d un bouton click fixe [Résolu]

Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
- - Dernière réponse : cs_danyclassique
Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
- 13 avril 2008 à 16:55
Bonjour a tous .
J ai , dans mon application, un bouton qui permet de choisir une couleur grace au
colordialog puis la couleur choisi est appliquee au backcolor.
Le probleme est que quand je ferme et je reouvre l application les changement
de couleur ne sont pas gardees.

Voici un peut de mon code

private void button1ccb_Click(object sender, EventArgs e)
        {


            Color resultColor = new Color();
            colorDialog1.CustomColors = null;
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                resultColor = colorDialog1.Color;
                this.BackColor = resultColor;
            }
        }
Peut etre que quelqu un connait la solution pour garder les changements d une maniere
definitive?
Merci d avance pour votre aide.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
3
Merci
Tu peux serialiser/déserialiser en binaire ou simplement :

Color c = Color.Azure;
// Color vers String :
string color = c.ToArgb( ).ToString( );
// String vers Color :
Color c2 = Color.FromArgb( Int32.Parse( color ) );

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
0
Merci
Salut, c'est bien normal.. lorsqu'un programme s'execute il est chargé dans la RAM, toutes les modifications, BackColor etc. sont éffectuées en mémoire et une fois le programme terminé tu perds tous les changements apportés. Pour les préserver tu dois les sauvegarder soit dans un fichier, *.config ou *.ini par exemple ou dans la base de registre.
Commenter la réponse de Lutinore
Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
0
Merci
Salut et merci d avoir repondu.


Oui ,depuis hier je reflechi et j en suis arive a la meme deduction que toi


c est en fait tres logique j aurai du reflecchir un peut plus avant de poser ma question .


Par contre moi j avais pense a un fichier xml mais ton idee me parrait mieux surtout celle du registre ,tu n aurai pas une idee de comment pouvoir y acceder .


Merci a toi.
Commenter la réponse de cs_danyclassique
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
0
Merci
J'pense que la meilleure solution, c'est le fichier *.config qui est justement du XML. Si tu développe avec Visual Studio il te suffit de double cliquer sur le fichier Setting dans ta solution pour l'editer. Après dans le code tu accèdes aux éléments du fichier et à la méthode Save via la classe Properties.Setting.
Commenter la réponse de Lutinore
Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
0
Merci
J ai trouve une solution un peut similaire dans un fichier txt
maintenant que j ai ecris ma couleur en string dans un fichier txt
je la lit en streamreader au initializecomponent que je replace dans un
autre string et maintenant j en suis a la recherche de la convertion
de ce string en color pour ensuite faire backcolor = cette couleur converti.
tu connais peut etre cette convertion ,ce qui me permettrai de pas trop
passer mon temps a trop chercher dans mon livre?
Commenter la réponse de cs_danyclassique
Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
0
Merci
Apres un test de mon idee pas tres granduose  sur le fichier txt ca fonctionne a moitie.
Je m explique dans mon srting de recuperation j ai une chaine du style
color [A=255, R=255, G=128, B=0]
Le probleme c est que quand je fais ensuite ,par exemple pour
colorier le backcolor avec un string s, this.BackColor=Color.FromName(s) ,le BackColor prend bien les valeurs mais il se rajoute un autre objet argb vide a la suite ,j ai pu voir ca en mode breakpoint;
J ai aussi essayer en FromARGB ,mais alors la pour decortiquer mon string c est une autre histoire.
Alors la je t avoue que je  bloc!!!
Je precise que je debute en c# alors je te pris de m excuser si je n est pas l air tes proffessionel
Si tu pouvais m aider ca serai tres sympas car j ai l impresion que je touche au but .

Merci deja pour tout.
Commenter la réponse de cs_danyclassique
Messages postés
95
Date d'inscription
samedi 1 décembre 2007
Dernière intervention
7 novembre 2010
0
Merci
tres bon mais juste a l instant j ai trouve un tuto de coq et de toi


ou vous parliez justement de ca et j ai donc opte pour l option du TypeConverter,bien que je n est pas tout a fait compris son fonctionnement mais ca fonctionne tres bien .


je te remercie infiniment pour ton aide ,et je pense que c est grace a des personnes comme toi et bien d autres que nous les debutants on s ameliorera tres tres vite.


Merci encore


A bientot
Commenter la réponse de cs_danyclassique

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.