le stockage et la récupération des couleurs avec la base de données, C# application windows forms
Je suis en train de faire une application windows avec C#. Je suis l'aide de la boîte de dialogue couleur pour l'utilisateur de sélectionner une couleur. Je voudrais stocker la couleur dans une base de données, et être en mesure de le récupérer plus tard, et être en mesure d'utiliser la couleur dans l'interface utilisateur.
La démarche que proposeriez-vous pour moi?
Avez-vous déjà une base de données que vous utilisez pour cette application?
OriginalL'auteur jello | 2010-02-16
Vous devez vous connecter pour publier un commentaire.
Le meilleur moyen est de stocker la couleur hexadécimale dans un champ de base de données
nvarchar(7)
... l'entrée serait#ffffff
comme un exemple.varchar(6)
fonctionnerait tout aussi bien, et prendre moins de place dans votre base de données. Juste être sûr d'ajouter les#
dans votre code.Puisque vous avez besoin de les convertir à partir d'un contrôle de la couleur, vous pouvez utiliser
System.Drawing.ColorTranslator.FromHtml(someHexColor)
varchar
suffirait puisque vous n'êtes pas préoccupé de l'unicode pour les valeurs RVB.c'est vrai... la force de l'habitude pour moi depuis que j'ai mis tout en place pour la localisation... mon mauvais.
mais alors, comment puis-je récupérer ces valeurs et de les fixer pour contrôler les couleurs?
Voir la réponse de Jhonny
Le problème, c'est la conversion de la Couleur #FFFFFF format et de revenir en arrière facilement. La couleur n'est pas une méthode Statique comme FromArgb qui prend une chaîne hexadécimale.
OriginalL'auteur Chase Florell
- Je utiliser les fonctions du Système.De dessin.Couleur.FromArgb() et du Système.De dessin.Couleur.ToArgb() pour convertir la couleur de et entier, et l'enregistrer en tant que int sur la base de données
Je suis d'accord... est une sorte de compromis de l'espace disque vs lisibilité
OriginalL'auteur Jhonny D. Cano -Leftware-
j'ai trouvé un moyen d'obtenir le code hexadécimal de la couleur sélectionnée avec ColorDialog
OriginalL'auteur jello