IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Probleme pour savoir ce que contient mon array list


Sujet :

C#

  1. #1
    En attente de confirmation mail
    Inscrit en
    Décembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Probleme pour savoir ce que contient mon array list
    Bonjour à tous,

    voilà je suis entrain de coder un programme pour pocket pc. et je bloque sur un test.

    voila je dois envoié a partir d'un formulaire a un autre les case a cocher que l'utilisateur coche.
    Maintenant je voudrai faire un test pour dire si l'utilisateur a deja envoié cette case a cocher alors il l'affiche pas, sinon il l'affiche dans l'autre formulaire.

    mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     //Parcour le panel de la form Case à cocher.
                 foreach (CheckBox cbx in pnlCheckBox.Controls)
                 {
     
                        //Test si la checkbox est cochée, on l'ajoute dans le tableau _CheckBoxChecked
                        if (cbx.Checked)
                        {
                                if (_CheckBoxChecked.Contains(_CheckBoxChecked.IndexOf(cbx)))
                                {
                                    _CheckBoxChecked.Add(cbx);
                                }
                        }
                  }
                  //Ferme le form Case à cocher
                  this.Close();

    En espérant avoir de vos réponses rapidement.
    je vous dis deja merci d'avance
    salutations

  2. #2
    Membre confirmé Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Points : 527
    Points
    527
    Par défaut
    Bonjour,
    Je n'est pas compris quel est le problème exactement
    Que veux-tu faire ? qu'est qui te bloque ?

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut Détails?
    Salut,
    Je vois pas comment on pourrait t'aider .....
    visiblement t'as pas de problèmes sinon c'est que tu les caches bien...
    plus de détails stp

  4. #4
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    salut,
    en faite c'est assez simple... ton algo est très moche!!!
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
     //Parcour le panel de la form Case à cocher.
                 foreach (CheckBox cbx in pnlCheckBox.Controls)
                 {
     
                        //Test si la checkbox est cochée, on l'ajoute dans le tableau _CheckBoxChecked
                        if (cbx.Checked)
                        {
                                if (!_CheckBoxChecked.Contains(cbx))
                                {
                                    _CheckBoxChecked.Add(cbx);
                                }
                        }
                  }
                  //Ferme le form Case à cocher
                  this.Close();
    ou l'autre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
     //Parcour le panel de la form Case à cocher.
                 foreach (CheckBox cbx in pnlCheckBox.Controls)
                 {
     
                        //Test si la checkbox est cochée, on l'ajoute dans le tableau _CheckBoxChecked
                        if (cbx.Checked)
                        {
                                if (_CheckBoxChecked.IndexOf(cbx) == -1)
                                {
                                    _CheckBoxChecked.Add(cbx);
                                }
                        }
                  }
                  //Ferme le form Case à cocher
                  this.Close();
    en faite tu récupère un entier qui représente l'indice de ta combobox puis tu cherche l'objet entier dans ta liste de checkbox, puis une dernière erreur, tu ajoute la combobox seulement si elle existe, je ne suis pas sur que c'est ce que tu voulais faire!!!

    ensuite, pour optimiser ton code, je pense que tu pourrais envoyer des objets plus petits, ce sont des "gros" objets ces checkbox!!! Mais le code que je t'ai fourni doit fonctionner. Et une dernière remarque essaye d'expliquer un peu plus ton problème quand tu postes...

  5. #5
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,

    une bonne pratique en dév Forms est d'éviter de faire des références supplémentaires aux objets IDisposable dont la durée de vie est gérée par le framework (donc en première ligne, les contrôles, d'ailleurs si depuis VS 2005 leur instanciation est "planquée" dans une classe partielle - cf. 'InitializeComponent()" des formulaires - c'est pas pour rien...).

    De plus, si pour pour une raison x ou y tu ajoutes plus tard autre chose qu'une CheckBox à ton Panel, ton code va planter - à cause du cast exécuté en "sous-marin" par le foreach.

    Tout ça pour dire que tu peux aussi faire autrement, par exemple (et plus performant au passage) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    bool[] _checkBoxChecked = new bool[mon_nombre_de_checkboxes];
     
    CheckBox tempCK = null;
     
    for (int i = 0; i < pnCheckBoxes.Children.Count; i++)
    {
        tempCK = pnCheckBoxes.Children[i] as CheckBox;
     
        this._checkBoxChecked[i] = tempCK != null && tempCK.Checked;
    }
    Ensuite pour savoir ce qui a été coché, tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for (int i = 0, i < checkBoxChecked.Length; i++)
    {
        if (!checkBoxChecked[i])
        {
            //code....
        }
    }

Discussions similaires

  1. [Vxi3] Pb pour savoir ce que Contient une cellule
    Par Benouche20 dans le forum Webi
    Réponses: 3
    Dernier message: 21/05/2012, 11h52
  2. Probleme pour changer la couleur de mon widget.
    Par Flow_75 dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 18/09/2009, 21h01
  3. probleme pour installer jeux yetisport sur mon site
    Par fredo2009 dans le forum Flash
    Réponses: 9
    Dernier message: 16/03/2007, 08h56
  4. [Jawin][VB]comment savoir ce que contient un objet ?
    Par blaz dans le forum API standards et tierces
    Réponses: 15
    Dernier message: 22/08/2005, 12h27
  5. comment savoir ce que fait mon pointeur??
    Par elekis dans le forum C++
    Réponses: 9
    Dernier message: 30/11/2004, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo