Tableau de control [Résolu]

Signaler
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
-
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
-
Bonjour,
Je voudrais faire un tableau de control , textbox par exemple.
Quelle est la démarche?
J'ai 12 textbox que je voudrais contrôler et mettre à jour .
Merci,




www.survey-copter.com

10 réponses

Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
Youpi ,
Merci nhervagault de m'avoir montré la voie
Ma solution:
je crée tous les contrôles dont j'ai besoin
ensuite j'initialise une liste

List<GroupBox> GroupBoxSimu= new List<GroupBox>();

et après j'ajoute chaque groupbox à ma liste
GroupBoxSimu.Add(this.GrpBoxSimu1);
GroupBoxSimu.Add(this.GrpBoxSimu2);
GroupBoxSimu.Add(this.GrpBoxSimu3);
GroupBoxSimu.Add(this.GrpBoxSimu4);
GroupBoxSimu.Add(this.GrpBoxSimu5);
GroupBoxSimu.Add(this.GrpBoxSimu6);
GroupBoxSimu.Add(this.GrpBoxSimu7);
GroupBoxSimu.Add(this.GrpBoxSimu8);
GroupBoxSimu.Add(this.GrpBoxSimu9);
GroupBoxSimu.Add(this.GrpBoxSimu10);
GroupBoxSimu.Add(this.GrpBoxSimu11);
GroupBoxSimu.Add(this.GrpBoxSimu12);

ensuite je peux modifier le texte de GrpBoxSimu1 en faisant

GroupBoxSimu[0].Text = "Et voila";
...
GroupBoxSimu[11].Text = "Comme cela";

Merci pour votre aide une fois de plus le forum a eu raison de mes problèmes.

www.survey-copter.com
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
désolé j'avais pas vu

http://www.csharpfr.com/forum/sujet-CREER-TABLEAU-CONTROL_861672.aspx

www.survey-copter.com
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
Oups trop rapide , cela ne colle pas avec mon besoin ,
J'ai 12 controls des groupbox que j'ai ajouté à ma form , et je veux changer leur couleur de fond avec une fonction du genre
Groupbox[i].backcolor = Color.red;
et là je ne comprends pas comment modifier le designer pour creer des noms comme cela
Merci



www.survey-copter.com
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
Une boucle devrait le faire.

Boucle de tête

foreach (Control c in this.Controls)
{
if(c is GroupBox)
{
(c as GroupBox).backcolor = Color.red; 
}
}
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
Non pas tout à fait je voudrais adresser chaque contrôle séparément avec un pointeur.
sachant que dans chaque groupebox j'ai encore des textbox des labels à modifier indépendamment.
Merci


www.survey-copter.com
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
La solution est de les stocker dans une List<Control> par exemple
et la c'est indexé.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Salut, la propriété Controls supporte 2 indexeurs :

this.Controls[ index ]; // int
this.Controls[ "Name" ]; // string
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
Plutôt qu'un int qui n'est pas lisible comme variable. je cherche une solution du genre

Groupbox[0].backcolor = Color.red;
Groupbox[1].backcolor = Color.Yellow;
Groupbox[2].backcolor = Color.Black;
Groupbox[3].backcolor = Color.Blue;

Groupbox[0].Textbox[0].Text = "ET voila";
car dans mes groupbox il y a aussi des contrôles que je veux modifier.
Dur dur...
Merci

www.survey-copter.com
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Quel est l'intérêt de la liste List< GroupBox > par rapport à la propriété this.Controls de la forme, sinon d'être légèrement plus typée !?
Messages postés
223
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
3 juin 2019
1
Pour mon soft j'ai 12 informations sur l'état de simulateurs que je dois mettre à jour régulièrement. Plutôt que de mettre un switch case sur le numéro de mon simu je passe en paramètre son numéro et son paramètre et c'est beaucoup mon lourd pour faire les mises à jour.
exemple:

//reset l'affichage des 12 simulateurs
private void ResetFullGroupbox()
{

int j;
for (int i = 0; i <= 11; i++)
{
j = i + 1;
GroupBoxSimu[i].Text = "Simulateur " +j.ToString() ;
BtnSupprimeSimu[i].Text = "Eject";
TxtNomJoueur[i].Text = "Entrez nom joueur";
LblConnectionClient[i].Text = "non connecté";

GroupBoxSimu[i].BackColor = Color.Red;
}

}

www.survey-copter.com