Couleur & variable

Résolu
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005 - 16 août 2005 à 12:05
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005 - 17 août 2005 à 08:25
Bonjour.

(suis en VB.Net 2003)


J'ai enregistré une couleur dans un fichier .INI (utilisation de ColorDialog)


Je sais lire le fichier ini, mais quand je récupère ma couleur et que je veut l'appliquer à un objet, j'obtient le message :


Une valeur de type 'String' ne peut pas être convertie en 'System.Drawing.Color'


Merci
Bruno

6 réponses

Utilisateur anonyme
16 août 2005 à 12:13
Bonjour,



Utilise

Dim Color As System.Drawing.Color = System.Drawing.Color.FromName(StrColor)


ChRB
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
3
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
16 août 2005 à 13:27
Merci à toi ChRB

Mon problème, c'est que j'ai déjà essayé, mais j'obtient le message suivant: 'Le cast spécifié n'est pas valide.'
Ce message apparait sur la ligne : Objet..ForeColor = StrColor

J'ai essayé les formats suivants (en le modifiant aussi dans l'enregistrement de ma couleur, évidement)
..Color.FromName(StrColor)
..Color.FromArgb(StrColor)


..Color.FromKnownColor(StrColor)

A comprend pas.

Ci après, ma methode pour l'enregistrement dans mon fichier INI:

If (ColorDialog1.ShowDialog() = DialogResult.OK)
Then



Dim CouleurTexte
CouleurTexte = ColorDialog1.Color.ToArgb


Objet.ForeColor = ColorDialog1.Color


EcrireINI("Couleur", "Texte", CouleurTexte)



End
If


Pour info, si sélection du noir en couleur de base, écrit dans mon fichier: -16777216

Merci
Bruno
0
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
16 août 2005 à 13:51
Re-Merci à toi ChRB
Excuses moi, suis trop bète. C'est dur après manger, et suis pas encore partit en vacances.
J'ai utilisé "StrColor" au lieu d'utiliser "Color" comme variable.

Réponse acceptée.

Excuses moi encore

Bruno
0
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
16 août 2005 à 15:40
Excuses moi ChRB

Tu n'aurais pas son petit frère pour les paramètres de Font par hazard?

Dim a As System.Drawing.Font = System.Drawing.Font.FromLogFont
(StrFont)

A marche pas.
Promis, j'arrête de t'embeter après ça.

De toute façon suis en vacances d'ici à la fin de la semaine.

Merci d'avance

PS:As tu lu le message précédent? Regardes STP

Bruno
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
16 août 2005 à 16:30
Bonjour,



Non, désoler pour les font je ne connais pas.



Pour la couleur, utilise plutôt

Dim CouleurTexte as String = ColorDialog1.Color.Name

Ca récupérera le nom de la couleur en toute lettre, mais par contre en faite pour la récupéré,
si c'est une couleur qui ne connais pas (ex: fff80c0) il fera comme si c'était
du blanc ou une couleur transparente.

Donc pour géré toute les couleurs utilise comme tu à fait

Dim CouleurTexte as String = ColorDialog1.Color.ToArgb

Et pour la récupéré

Dim Color As System.Drawing.Color = System.Drawing.Color.FromArgb(ArgbColor)

ArgbColor de type
integer



Voilà



ChRB



<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
0
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
17 août 2005 à 08:25
Merci ChRB

Je préfère utiliser ToArgb qui récupère toutes les couleurs. En plus, si je récupère un .name, la chaine récurérée est : Color [Red], alors que je doit réutiliser Red uniquement. En plus ça ne marche que pour les couleurs de base, après on récupère une valeur ARGB écrite comme suit: Color = [A.56, R.255, G.200, B.128]

C'est donc plus simple en Integer.

Merci en tout cas, tu m'a bien aidé.
Salutations.

Bruno
0
Rejoignez-nous