Colorcombobox, combo box permettant de sélectionner des couleurs

Description

Pour un projet perso, j'ai besoin d'un combobox permettant de sélectionner une couleur.
N'ayant pas trouvé ce composant tout fait, et après quelques recherches, je me suis basé sur une source de Bidou : http://www.csharpfr.com/codes/CUSTOM-COMBOBOX-PERSONNALISER-COMBOBOX_37498.aspx

J'ai donc commencé une p'tite librairie de combobox cutomisées.

L'utilisation de la ColorComboBox est assez simple, il suffit de remplir la combo avec des objets ColorComboBoxItem en passant comme paramètre un texte et une couleur.

Lorsqu'une item est sélectionnée, la récupération du texte se fait par la proprièté SelectedText, et la couleur par SelectedValue de la ColorComboBox.

Source / Exemple :


private void FormMain_Load(object sender, EventArgs e)
        {
            #region ColorComboBox
            //remplissage de la combo type carré
            cmbBox1.Items.Add(new ColorComboBoxItem("Rouge", Color.Red));
            cmbBox1.Items.Add(new ColorComboBoxItem("Bleu", Color.Blue));
            cmbBox1.Items.Add(new ColorComboBoxItem("Vert", Color.Green));

            //remplissage de la combo type rectangle
            cmbBox2.Items.Add(new ColorComboBoxItem("Viollet", Color.Violet));
            cmbBox2.Items.Add(new ColorComboBoxItem("Jaune", Color.Yellow));
            cmbBox2.Items.Add(new ColorComboBoxItem("gris", Color.Gray));

            //remplissage de la combo type complet
            cmbBox3.Items.Add(new ColorComboBoxItem("Cyan", Color.Cyan));
            cmbBox3.Items.Add(new ColorComboBoxItem("Bleu foncé", Color.DarkBlue, Color.White));
            cmbBox3.Items.Add(new ColorComboBoxItem("Transparent", Color.Transparent));
            cmbBox3.Items.Add(new ColorComboBoxItem("Noir", Color.Black, Color.White));
            #endregion

            #region ImgComboBox
            imgBox1.AddImage("img0", imgList.Images[0]);
            imgBox1.AddImage("img1", imgList.Images[1]);
            imgBox1.AddImage("img2", imgList.Images[2]);
            imgBox1.Items.Add(new ImgComboBoxItem("texte", string.Empty));
            imgBox1.Items.Add(new ImgComboBoxItem("imgage 0", "img0", "img0"));
            imgBox1.Items.Add(new ImgComboBoxItem("imgage 1", "img1", "img1"));
            imgBox1.Items.Add(new ImgComboBoxItem("imgage 2", "img2", "img2"));
            #endregion
        }

//SelectedIndexChanged des combos :
        private void cmbBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            lbl1.Text = cmbBox1.SelectedText;
            lbl1.BackColor = cmbBox1.SelectedValue;
        }

        private void cmbBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            lbl2.Text = cmbBox2.SelectedText;
            lbl2.BackColor = cmbBox2.SelectedValue;
        }

        private void cmbBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            lbl3.Text = cmbBox3.SelectedText;
            lbl3.BackColor = cmbBox3.SelectedValue;
        }

        private void imgBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblTexte.Text = imgBox1.SelectedText;
            lblValue.Text = imgBox1.SelectedValue;
        }

Conclusion :


Pour voir les icônes des composants dans la boite à outils, il suffit d'ajouter les contrôle à afficher en passant par le menu "Choisir les composants" de la boite à outils.

Codes Sources

A voir également

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.