Compter le nombre de composant dans un formulaire [Résolu]

LordOfTheShadow 175 Messages postés vendredi 22 décembre 2000Date d'inscription 9 septembre 2010 Dernière intervention - 25 nov. 2008 à 09:12 - Dernière réponse : LordOfTheShadow 175 Messages postés vendredi 22 décembre 2000Date d'inscription 9 septembre 2010 Dernière intervention
- 29 janv. 2009 à 15:28
Bonjour j'aimerai connaître le nombre de controls (ex: bouton ou autres) que contient mon form. Comment puis-je faire? j'ai déjà vu des trucs du genre components.Count() mais ça me met des erreurs... Et si c'est possible de connaître le nombre de composants de tel ou tel type...(bouton, label, etc...)

La connaissance est la plus grande des richesses.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 25 nov. 2008 à 11:09
3
Merci
Bonjour,


Pourquoi faire une boucle pour compter les contrôles ?


Tu peux tout aussi bien obtenir le même résultat avec le code suivant:
int nb = this.Controls.Count;


Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de billou_13
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 25 nov. 2008 à 09:55
0
Merci
Salut,

Il faut faire un parcours recursif

En te basant sur
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.haschildren.aspx

Bon coding
Commenter la réponse de nhervagault
LordOfTheShadow 175 Messages postés vendredi 22 décembre 2000Date d'inscription 9 septembre 2010 Dernière intervention - 25 nov. 2008 à 10:20
0
Merci
Merci ça marche.
Voici l'adaptation du code:

int

nbComps=0;

if (
this.HasChildren)
{

      foreach (
Control childControl
in
this.Controls)
      {
            nbComps++;
      }
}

MessageBox.Show(
"Il y a : " + nbComps.ToString() +
" composants");

La connaissance est la plus grande des richesses.
Commenter la réponse de LordOfTheShadow
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 25 nov. 2008 à 11:51
0
Merci
Salut,
Il faut compter aussi les enfants des contrôles conteneurs, dont il faut passer par une fonction récursive.
Si une Form contient par exemple un GroupBox (qui contient 2 Buttons) et un Panel (qui contient 2 Buttons):
Le résultat 2 au lieu 6.
A+
Commenter la réponse de xmox667
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 25 nov. 2008 à 14:44
0
Merci
Oui, tout dépend de ce qu'on veut compter.
Mais euh... à quoi peut servir une telle fonction ?

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 25 nov. 2008 à 15:10
0
Merci
Pour s'endormir plus vite ???
y'a bien des personnes qui comptent les moutons...

Désolé,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
LordOfTheShadow 175 Messages postés vendredi 22 décembre 2000Date d'inscription 9 septembre 2010 Dernière intervention - 29 janv. 2009 à 15:28
0
Merci
Heyyyy! je compte pas les motons lol. non je remplis un datagridview avec une propriété présente sur chacun des composants que j'ai créé donc je suis obligé de passer par là :-) heu par contre ca marche avec les controls  et usercontrols mais pas avec les components. Il y aurait-il une solution?

La connaissance est la plus grande des richesses.
Commenter la réponse de LordOfTheShadow

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.