String vers color?

Résolu
Thlb Messages postés 8 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 5 mars 2008 - 5 mars 2008 à 20:54
Thlb Messages postés 8 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 5 mars 2008 - 5 mars 2008 à 22:03
Bonjour a tous !

Voila, je rencontre quelques petites difficultés. Je précise que j'utilise Visual Studio 2005, pour du VB.Net.

J'ai dans une form, un système de préférences. Dans des textbox l'utilisateur saisit une valeur hexadécimale (sans le "#" au début) pour une couleur.

Cependant je voudrais faire apparaitre la couleur sélectionnée a coté histoire d'avoir un apercu.

Pour cela j'ai créé une picturebox sans image, et je voudrais faire en sorte que la couleur de fond de celle ci change en fonction du code hexa saisi dans la textbox.  J'ai donc deux questions:

- J'ai essayé de changer avec: picturebox.backcolor = "#" & <Variable contenant le code hexa de la TextBox> .
Cependant une erreur s'affiche me disant qu'il est impossible de définir une couleur a partir d'un chaine de caractère. Y a t'il une erreur dans la syntaxe? ou existe il une autre solution?

- Quelle est la procédure a mettre pour que la valeur change lorsque que l'on quitte la textbox (par l'utilisation de la touche tab par exemple) ?

Merci d'avance de votre aide

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 mars 2008 à 21:15
Pour le premier point, tu fais un truc du genre
    PictureBox1.BackColor = Color.FromArgb(&HFF000000 + CInt("&h" & TextBox1.Text))Le FF c'est pour la composante Alpha qui gère la transparence du controle (0 transparent, FF opaque)
Cependant dans cet exemple, il faut gérer la saisie de la textbox, pas plus de 6 caractères, et uniquement des chiffres et les lettres de A à F

Pour le second point, il te faut gérer l'évènement Leave ou l'évènement LostFocus de la textbox

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #   
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 mars 2008 à 21:40
propriété MaxLength de la textbox.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
3
Thlb Messages postés 8 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 5 mars 2008
5 mars 2008 à 21:35
Merci ca fonctionne nickel ! Vous etes toujours aussi rapides et efficaces

Ya moyen de bloquer la saisie a 6 caracteres? ou faut passer par un message d'erreur qui saffiche si yen a plus d'entrés?
0
Thlb Messages postés 8 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 5 mars 2008
5 mars 2008 à 22:03
Merci c'est tout bon !
0
Rejoignez-nous