Progressbar en c#

Résolu
cs_guiguizeitzt Messages postés 28 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 mars 2011 - 12 mars 2011 à 09:21
cs_guiguizeitzt Messages postés 28 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 mars 2011 - 13 mars 2011 à 12:22
Bonjour je pense la question à peut être déjà été poser mais je n'ai pas trouver de réponse qui à pu m'aider.

Je fais une fenêtre en c# avec des combobox (14 exactement) je souhaiterais faire avancer une progressbar en fonction des combobox remplies. C'est à dire qu'il faudrait que si une combobox n'est pas sur sa valeur par défaut (index =0 "non défini") la progressbar augmente.

Si quelqu'un peut m'aider ce serais vraiment bien.

Merci d'avance .

Guiguizeitzt

19 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
12 mars 2011 à 09:48
Bonjour

Voici un petit exemple:
pour l'exemple j'ai mis les combo dans un groupbox, cela permet de les retrouver plus facilement
a l'initialisation on recherche le nombre de combo dans le groupbox pour initialiser la barre de rogression
cela permet d'en ajouter sans changer le code
ensuite, si une des combo change, on recalcul la position de la barre de progression.

        public Form1()
        {
            InitializeComponent();
            ComboInit();
        }

        //initialisation, recherche les comboboxes et assigne l'evenement SelectedIndexChanged
        private void ComboInit()
        {
            int ComboCount = 0;//nbre de combo 
            foreach (Control c in groupBox1.Controls)
            {
                ComboBox combo = c as ComboBox;
                if (combo != null )
                {
                    ComboCount++;
                    combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged);
                }
            }
            //initialisation de la barre de progression
            progressBar1.Value = 0;
            progressBar1.Minimum = 0;
            progressBar1.Maximum = ComboCount;
        }

        //Calcul la barre de progression
        void combo_SelectedIndexChanged(object sender, EventArgs e)
        {
             int FilledComboCount = 0;//nbre de combo remplies
            foreach (Control c in groupBox1.Controls)
            {
                ComboBox combo = c as ComboBox;
                if (combo != null && combo.SelectedIndex !=-1)
                        FilledComboCount++;
            }
            progressBar1.Value = FilledComboCount;
        }

Bob.
C# is amazing, enjoy it!
3