Convertir String contenant Color : [couleur] en Color.couleur... [Résolu]

tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 2 août 2006 à 22:31 - Dernière réponse : tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention
- 3 août 2006 à 11:33
Bonjour à tous !

Voilà dans un fichier .ini j'ai enregistré les valeurs ForeColor d'un Label1  et BackColor d'un Label2 ainsi qu' une catégorie que l'on entre dans un textbox.

Voilà ce que ça me donne par exemple pour une catégorie que j'ai nommée "Cellule1" dans le fichier ini :

[Cellule1]
CouleurText=Color [Black]
CouleurCell=Color [Olive]

ok.

Le problème c'est que maintenant, dans une autre partie de l'appli, je voudrais appliquer ces couleurs, je récupère donc les valeurs des cléfs CouleurText et CouleurCell.. ok seulement, il me met une erreur bien sur car un string ne peut pas être converti en System.Drawing.Color.

Avez vous une idée pour convertir ? ou une autre manière d'enregistrer la couleur ? merci !
Afficher la suite 

4 réponses

Répondre au sujet
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 10:48
+3
Utile
T'est sur que tu t'est pas tromper de contrôle ou que ton texte est blanc et le back noir ?
Moi j'ai:
-1: blanc
-16777216: noir
-989556: khaki
-16776961: bleu



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Charles Racaud
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 00:28
0
Utile
Et non, ca marche pô
Il faut utiliser ToArgb et FormArgb:




SaveVersTonFichier
= Label1.ForeColor.ToArgb()

Label1.ForeColor = System.Drawing.Color.FromArgb(CouleurDuFichier)





Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
Commenter la réponse de Charles Racaud
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 10:32
0
Utile
Ok je viens de faire ça, je n'ai plus d'erreurs mais le texte ne reste qu'en blanc... Je précise que je suis en VB.Net au cas où...

J'ai rentré par exemple : forecolor : bleu ; backcolor : khaki, dans mon fichier ini ça me donne ceci :
[Cellule1]
CouleurText=-1
CouleurCell=-16777216

Et ce quelque soit la couleur rentrée... voici le code que j'ai fait pour enregistrer :

Dim cRubrique As String = TextBox1.Text 'Nom de la rubrique
Dim cIniFile As String = "C:\WINDOWS\Coloration.ini" 'Nom du fichier Ini
Dim bOk As Boolean
bOk = Put_Private_Profile_String(cRubrique, "CouleurText", Label2.ForeColor.ToArgb(), cIniFile)
bOk = Put_Private_Profile_String(cRubrique, "CouleurCell", Label5.ForeColor.ToArgb(), cIniFile)

et bien sur j'ai déclarer les f° plus haut mais je ne pense pas que ce soit nécéssaire... et dans ma deuxième form j'ai mis ceci :

Dim cRubrique As String = "Cellule1"    'Nom de la rubrique
Dim cKey As String = "CouleurText"     'Nom de la clé
Dim cKey1 As String = "CouleurCell"
Dim cValeur As String = Space(255)        'Variable pour la string          '
Dim cValeur1 As String = Space(255)
Dim cIniFile As String = "C:\WINDOWS\Coloration.ini"         'Nom du fichier Ini

Dim istat As Integer
Dim istat1 As Integer

istat = Get_Private_Profile_String(cRubrique, cKey, "", cValeur, cIniFile)
istat1 = Get_Private_Profile_String(cRubrique, cKey1, "", cValeur1, cIniFile)

L1TextBox.ForeColor = System.Drawing.Color.FromArgb(cValeur)
L1TextBox.BackColor = System.Drawing.Color.FromArgb(cValeur1)

Merci de ton aide !
Commenter la réponse de tinux
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 11:33
0
Utile
Exacte, j'avais pas fait attention : je prenais le Forecolor de mon label de couleur et non pas le BackColor [damn]

Désolé lol en tout cas merci, un problème de résolu ! Au passage j'ai visité un peu tes sources : chapeau ^ :D
Commenter la réponse de tinux

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.