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>