[C#] Supprimer un type de contrôle (boutons)
Mickesp
-
Misdrhaal Messages postés 49 Statut Membre -
Misdrhaal Messages postés 49 Statut Membre -
Bonjour gang,
j'aimerais savoir comment m'y prendre si je veux supprimer tout les boutons sur mon form en C#. C'est probablement un foreach mais comment répertorier tous mes objets qui sont de type Button.
Merci de répondre à ma question qui doit vous paraître facile!
j'aimerais savoir comment m'y prendre si je veux supprimer tout les boutons sur mon form en C#. C'est probablement un foreach mais comment répertorier tous mes objets qui sont de type Button.
Merci de répondre à ma question qui doit vous paraître facile!
3 réponses
-
a ta place lors de la creation de tes objets boutons je creerai un tableau de reference. quand tu voudra les effacer il te suffira de parcourir ce tableau de reference pour modifier les parametres des boutons.
-
Avec un foreach c'est très faisable :
//Dans ton code
//On implemente le package Webcontrols
//tonControle : variable identifiant les controles
//Typecontrole : à remplacer par le type de controle à gérer, ici button
//tonAction : actionn à effectuer que ce soit une propriété ou une méthode.
//On parcourt toute la page et on releve chaque composant qu'on stocke dans tonControle
//Pour chaque composant trouvé, on test si c'est un Typecontrole, si oui, on effectue l'action
//Ce qui donne
using System.Web.UI.WebControls;
//Partie à placer dans la méthode appropriée
foreach(Control tonControle in this.controls)
{
if (tonControle is System.Web.UI.WebControls.TypeControle)
{
tonControle.tonaction; //ton action: propriété ou méthode
}
}
//et plus particulièrement pour ton bouton
foreach(Control tonBouton in this.controls)
{
if (tonBouton is System.Web.UI.WebControls.Button)
{
tonBouton.enabled = false; //on masque le bouton
}
} -
Pour le "package"(namespace) à utiliser, j'ai fait une petite erreur (tapé trop vite^^)
il faut faire le using sur le namepsace Web.UI
using System.Web.UI;
this.controls fonctionnera donc
voila voila mea culpa pour cette petite erreur.