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

cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention - 13 avril 2008 à 00:09 - Dernière réponse : cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention
- 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 

7 réponses

Répondre au sujet
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 13 avril 2008 à 16:37
+3
Utile
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 ) );
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 13 avril 2008 à 08:43
0
Utile
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
cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention - 13 avril 2008 à 09:42
0
Utile
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
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 13 avril 2008 à 14:10
0
Utile
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
cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention - 13 avril 2008 à 14:16
0
Utile
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
cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention - 13 avril 2008 à 16:14
0
Utile
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
cs_danyclassique 95 Messages postés samedi 1 décembre 2007Date d'inscription 7 novembre 2010 Dernière intervention - 13 avril 2008 à 16:55
0
Utile
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.