cs_shoka
Messages postés29Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention21 février 2006
-
3 févr. 2006 à 12:12
cs_shoka
Messages postés29Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention21 février 2006
-
3 févr. 2006 à 12:39
Bonjour tout le monde !
Dans une application à but statistique, j'ai une form contenant plusieurs labels, indiquant une répartition de personnes, divisés en deux catégories :
Pour chaque élément (sexe, age, profession), un des deux labels affiche la valeur numérique,
L'autre affiche le pourcentage de cette valeur.
Par exemple j'ai un groupe Tranche d'age. Dans ce groupe j'ai 6 labels (en fait 3 couples de labels) :
1 label affichant le nombre de personnes entre 18 et 25 ans,
1 autre affichant le pourcentage de personnes entre 18 et 25 ans,
1 troisième affichant le nb de personnes entre 26 et 34 ans,
1 quatrième affichant le % de personnes entre 26 et 34 ans,
1 autre affichant le nb de personnes ayant plus de 35 ans,
1 dernier affichant le % de personnes ayant plus de 35 ans.
et ainsi de suite pour toutes les éléments.
Pour tous les labels affichant les nombres effectifs, j'ai une simple requete sur ma BD. Par contre, j'aimerais pour les labels "pourcent" faire une méthode qui les remplirait automatiquement. Ca m'éviterait de me taper 200 lignes de calcul manuel . Je passerais donc en paramètre les labels "pourcent" et "nombre".
Ma méthode serait simple :
{
if ([texte du label "nombre"] == "0")
[texte du label "pourcent"] = "0";
else
[texte du label "pourcent"] = (100 * (Convert.ToSingle([texte du label "nombre"])) / Convert.ToSingle(this.lResNbInscrits.Text)).ToString().Substring(0,4);
}
notes : this.lResNbInscrits désigne le nombre total de personnes;
le Substring sert à faire en sorte de n'afficher que 3 chiffres significatifs (+ la virgule);
je suis obligé de le cas "== 0" à part, car dans ce cas le substring ne marche pas.
Mon problème est que je ne sais pas du tout comment passer un objet label en paramètre.. j'ai essayé avec des pointeurs, mais je n'y connais presque rien et ça s'est solvé en échec.
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 3 févr. 2006 à 12:30
>> le Substring sert à faire en sorte de n'afficher que 3 chiffres significatifs (+ la virgule);
>> je suis obligé de le cas "== 0" à part, car dans ce cas le substring ne marche pas.
A la place du substring, tu peux utiliser ca :
monNombreAVirgule.ToString("0.000");
>> Mon problème est que je ne sais pas du tout comment passer un objet label en paramètre..
Pourtant ce n'est pas compliqué :
- Une méthode prenant un label en paramètre (si cette méthode n'est pas dans ta form, il faut eventuellement ajouter un "using System.Windows.Forms") :
void MaMethod(Label label)
{