Comment puis-je créer un Tableau de Contrôles dans C#.NET?
J'ai un formulaire qui contient plusieurs contrôles standard (zone de texte, les boutons, etc). Je veux le regroupement de certains contrôles dans les collections de sorte que je peux activer et désactiver à tout moment sans avoir à les définir explicitement chacun. Quelle est la syntaxe pour le faire? Voici le pseudo-code pour afficher ce que je veux faire....
Control[] ControlCollection = new Control[];
ControlCollection.add(Button1);
ControlCollection.add(TextBox1);
...
...
foreach( Control x in ControlCollection)
{
x.Enabled = false;
}
Je sais que je pourrais mettre les commandes à dire une zone de groupe et d'accomplir cela, mais les contrôles ne sont pas positionnés sur la forme de telle manière qu'il est commode de le faire.
- Avez-vous vraiment essayé de mettre en place quelque chose de similaire à votre pseudo-code? C'est le long des lignes que je voudrais de la pensée pourrait fonctionner.
- fait ce que vous a proposé de ne pas travailler?
- J'ai ce windows forms ou webforms (asp.net)?
- Tout d'abord, je ne peux pas créer un tableau comme ça sans spécifier de taille. Aussi, si j'ai utilisé l'exemple ci-dessus il n'y a pas une méthode add() associée à ControlCollection. Liste<Commande> fonctionne très bien.
Vous devez vous connecter pour publier un commentaire.
votre exemple doit être fine
travaillera également
Avez-vous envisagé d'utiliser un layout manager? (dans la mesure du positionnement va)
Garder une liste de contrôle (sans spécifier le contrôle de position) ne sera pas automatiquement la position des commandes, un gestionnaire de mise en page pourrait vous aider.
Si vous n'êtes pas déjà en utilisant la propriété tag du contrôle, alors vous pourriez vous mettre une certaine forme de controlid dans la balise et puis énumérer la collection de contrôles à la recherche pour l'id que vous voulez et de les activer/désactiver.
En supposant que vous êtes à l'aide de formulaires web et .net 3.5, vous pourriez avoir quelque chose comme