[C#] Traitement de checkbox ou textbox en boucle

Traitement de checkbox ou textbox en boucle [C#] - C#/.NET managed - Programmation

Marsh Posté le 26-06-2011 à 15:45:21    

Hello,
 
Alors j'ai un formulaire avec 24 checkbox et 2x 24 textbox chaque fois 1 checkbox est liée à 2 textbox.
 
la checkbox est là pour dire quel compte on veut (activé = industrialisation, désactivé = divers SMD)
la première textbox est le temps que j'ai passé
la 2e textbox est la tâche que j'ai effectuée.
 
c'est dans un mini programme que j'ai déjà sur excel pour gérer mon temps au boulot.
 
Avec autant de checkbox et textbok j'aurais voulu simplifier un mac mon code avec un boucle for.
 
je pensais à un truc du genre :

Code :
  1. for (int i = 1; i<25;i++)
  2.             {
  3.             monStreamWriter.WriteLine(ligne_texte);
  4.             ligne_texte = checkBox[i].CheckState + "/" + temps[i].Text + "/" + tache[i].Text;
  5.             }


 
donc j'aurais voulu copier l'une après l'autre les valeurs des checkbox et des textbox sans avoir besoin de mettre checkbox1, checkbox2, checkbox3,.....
 
au lieu de faire une ligne par ajout de ligne dans mon fichier texte qui sert à enregistrer les résultats à la fermeture du programme pour pouvoir les retrouver à l'ouverture de celui ci la fois d'après tant qu'on a pas remis à 0
 
Merci d'avance


---------------
Swisscore
Reply

Marsh Posté le 26-06-2011 à 15:45:21   

Reply

Marsh Posté le 28-06-2011 à 22:07:49    

Salut,  
Déjà sache que la notion de "control array" telle que tu la décris (si j'ai bien compris ce que tu veux faire) et telle qu'elle existe par exemple en VB6 et inférieur n'a pas d'équivalent en .Net.
Par contre, tu peux mettre toutes tes textboxes dans un contrôle parent et boucler dessus via la propriété Controls qui te renvoie tous les contrôles imbriqués dedans.


Message édité par TotalRecall le 28-06-2011 à 22:08:16

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 29-06-2011 à 09:43:26    

Je ne connais pas c# applique à excell, mais en standard (web ou windows), avec la methode findcontrol et un casting approprie, tu devrais t'en sortir. Ca donnerai un truc style

Code :
  1. for ( int i = 1; i < 25; i++ ) {
  2.    CheckBox lChx = (CheckBox) FindControl(string.Format("CheckBox{0}",i);
  3.    TextBox lTxt1 = (TextBox) FindControl(string.Format("Temps{0}",i);
  4.    TextBox lTxt2 = (TextBox) FindControl(string.Format("Tache{0}",i);
  5.    monStreamWriter.WriteLine(string.Format("{0}/{1}/{2}", lChx.CheckState, lTxt1.Text, lTxt2.Text);
  6. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed