Probleme avec le panel de mon winform

Signaler
Messages postés
6
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
25 septembre 2009
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour a tous.

voilà j'ai un soucis je suis entrain de faire un petit programme pour windows mobile. dans mon winforms j'ai un panel et dedans j'ai des case à cocher.

mon probleme est le suivant, je voudrai savoir comment faire pour connaitre quel case à cocher est vraiment cocher??
pour pouvoir par la suite transmettre cette information dans un autre winforms.

je sais qu'avec une checkedListeBox ca aurai été facil, mais ce composant est indisponible pour les codes windows mobiles

Vous remerciez deja d'avance pour l'aide

en vous souhaitant une bonne journée

5 réponses

Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010

google est ton ami...
et msdn aussi...

propriétés d'un panel
propriétés d'une checkbox

pour le panel, je te conseille de regarder du coté de la propriété controls et pour les checkbox du coté de la propriété checked ... une petit boucle avec tout ca et c'est fini...

Nul ne devient grand par la guerre...
Messages postés
6
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
25 septembre 2009

merci pour ton aide, je suis deja allé voir sur le site msdn et aussi google et cela ne ma pas vraiment aidé.

le probleme c'est que les checkbox ne sont instancier d'abord ce qu'il recois d'un textbox..
et comme elle sont pas dés le début dans l'application, ca complique les choses.

et c'est la ou je ne sai pas vraiment comment m'y prendre
Messages postés
233
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
25 octobre 2010

t'as jeté un œil aux liens que je t'ai mis quand même?

public ControlCollection Controls { get; }

la propriété controls de ton panel renvois une collection de contrôles qui peut être parcouru par une boucle foreach

ensuite il te reste plus qu'a faire un test du style

if (c is Checkbox) {
if ((Checkbox)c).checked) {
compteur++;
}
}


Nul ne devient grand par la guerre...
Messages postés
6
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
25 septembre 2009

bonjour j'ai toujours des problèmes pour mes case a cocher.. je vous met mon bout de code ca sera plus explicite.

mes case a cocher dynamique

   public void ListeProduits()
        {
            pnlCheckBox.Controls.Clear();
            for (int i = 0; i < _Produits.Count; i++)
            {
                CheckBox cbx = new CheckBox();
                cbx.Name = (string)_Produits[i];
                cbx.Size = new System.Drawing.Size(200, 20);
                cbx.Location = new System.Drawing.Point(10, (10 + (cbx.Height * (i - 1))) + 12);
                cbx.TabIndex = i;
                cbx.Text = (string)_Produits[i];
                pnlCheckBox.Controls.Add(cbx);
            }
        }


ensuite quand je cliquer sur un bouton il devrai parcourir mon arrayliste ou sont mes case a cocher dynamique puis m'afficher celle qui sont cocher dans un nouveau formulaire

bouton

  private void BtnValider_Click(object sender, EventArgs e)
        {
            FrmPrincipal frmPrincipal = new FrmPrincipal();
            frmPrincipal.ShowDialog(); 
            
            foreach(string essai in _Produits)
            {
                MessageBox.Show(essai);
            }
        }



vous l'auraiez deviner.. je ne suis pas vraiment fort en c#

vous remerciez deja de votre aide

salutations
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
Bonjour

Tu peux te creer une liste de CheckBox, au niveua de la classe:
ArrayList MyCheckBoxes = new ArrayList();


Dans ta boucle de création, tu Y ajoutes les CheckBoxes

pnlCheckBox.Controls.Clear();
MyCheckBoxes.Clear();
for (int i = 0; i < _Produits.Count; i++)
{
   CheckBox cbx = new CheckBox();
   MyCheckBoxes.Add(cbx);
...


Dans le handler de te bouton, tu parcours le tableau.

private void BtnValider_Click(object sender, EventArgs e)
{
   Foreach (CheckBox cbx in MyCheckBoxes)
     if (cbx.Checked)
         MessageBox.Show(cbx.Name);


Je n'ai pas d'environnement pour tester le code, il est donc possible que des erreurs s'y soient glissée...


C# is amazing, enjoy it!