J'ai besoin, par exemple, un moyen de désactiver tous les boutons sous une forme ou de valider toutes les données de Textboxes. Des idées? Merci d'avance! P>
4 Réponses :
L'option la plus simple peut être de cascade: ou similaire; Vous pouvez bien sûr passer un délégué pour le rendre assez générique: p> alors des choses comme: p>
Ne répond pas vraiment à la question du titre - Comment obtenir toutes les commandes - ne pas éditer leurs propriétés.
@ N00dles à citer de la question: "J'ai besoin d'exemple pour désactiver tous les boutons sous une forme"
Après avoir écrit le commentaire, je pensais ... peut-être que c'est le titre qui a besoin d'édition. J'étais un peu irrité parce que je cherchais une réponse à la question du titre. Fait ça nw cependant. (D'un marc i> à un autre!)
Essayez également:
public List<Control> getControls(string what, Control where)
{
List<Control> controles = new List<Control>();
foreach (Control c in where.Controls)
{
if (c.GetType().Name == what)
{
controles.Add(c);
}
else if (c.Controls.Count > 0)
{
controles.AddRange(getControls(what, c));
}
}
return controles;
}
private void Form1_Load(object sender, EventArgs e)
{
var c = getControls("Button", this);
}
Je préfère une approche paresseuse (itératrice) du problème, c'est ce que j'utilise:
Je cherche une solution pour la même chose pour activer / désactiver des contrôles basés sur le type, j'ai donc proposé cette approche similaire à Luiscencio (vous pouvez également la modifier pour obtenir tous les contrôles ou modifier d'autres propriétés). < Pré> xxx pré> p>