J'ai un panneau avec une collection de contrôles dedans. Comment puis-je obtenir l'index d'un contrôle spécifique lors de l'itération à travers eux? J'utilise foreach
pour itérer, mais il n'y a pas de propriété Index. Dois-je utiliser for x = 0...
et renvoyer x
lorsque ma correspondance est établie, ou quoi?Comment obtenir l'index de contrôle dans WinForms?
Répondre
Vous pouvez utiliser:
panel.Controls.IndexOf(control);
Ou vous pourriez itérer sur eux avec une boucle au lieu d'une boucle foreach. Ou vous pouvez simplement créer un index que vous incrémentez à l'intérieur de la boucle foreach.
Vous pouvez simplement utiliser la méthode IndexOf. Quelque chose comme panel1.Controls.IndexOf (textBox1);
Pour répondre à la question spécifique que vous avez demandé, oui, j'utiliser
pour (x = 0; x < panel.Controls.Count; i ++)
Cependant, si vous Ading dynamiquement des contrôles Pour le panneau, vous pouvez envisager de leur donner des noms uniques ou d'autres attributs d'identification via les propriétés .Name ou .Tag.
Ensuite, vous pouvez discriminer vos contrôles enfants avec plus de précision. Par curiosité, pourquoi avez-vous seulement besoin de l'index dans la collection de contrôles?
- 1. Collision de contrôle dans winforms
- 2. Contrôle vs UserControl dans WinForms?
- 3. Contrôle de tabulation + DataGridView dans WinForms
- 4. Verrouiller un contrôle winforms
- 5. Visionneuse PDF intégrée dans un contrôle WinForms
- 6. Utilisation d'un contrôle WPF personnalisé dans WinForms
- 7. Comment écrire un contrôle personnalisé récursif dans WinForms .NET
- 8. Comment faire pour limiter la zone de contrôle client dans un contrôle WinForms personnalisé
- 9. Contrôle de traçage gratuit pour WinForms?
- 10. Contrôle de l'emplacement d'une info-bulle Winforms
- 11. VB.Net Winforms Variable de contrôle utilisateur
- 12. Comment puis-je obtenir l'exception actuelle dans un WinForms TraceListener
- 13. Comment mettre un contrôle WinForms sur de longues ToolBox
- 14. Comment obtenir/définir le répertoire de travail d'une application winforms?
- 15. WinForms - Comment obtenez-vous la taille d'un contrôle "veut" être?
- 16. Comment obtenir des informations de VS_VERSION_INFO dans le contrôle ActiveX
- 17. Comment définir la valeur par défaut de Couleurs dans un contrôle personnalisé dans Winforms?
- 18. Remplacer le contrôle CurrentCulture pour WinForms
- 19. IE8, Flash et le contrôle WinForms WebBrowser
- 20. C# winforms: Obtenir l'image de capture d'écran qui doit être derrière un contrôle
- 21. WinForms infobulle dans WinForms DataGridViewImageColumn
- 22. Contrôle WinForms intégré à la sous-classe?
- 23. Comment empêcher un contrôle Winforms d'écouter le clavier
- 24. C# Winforms Contrôle Transparent permettant le Clic
- 25. Comment faire un ownerdraw Trackbar dans WinForms
- 26. Contrôle d'en-tête dans WinForms - une telle chose?
- 27. Affichage des données XML dans un contrôle Winforms
- 28. Contrôle de grille .NET (WinForms) avec capacités de réduction/expansion
- 29. Readonly ComboBox dans WinForms
- 30. Comment obtenir un contrôle Keyspline Expression Blend?
Par curiosité, pourquoi avez-vous seulement besoin de l'index dans la collection de contrôles? Il pourrait y avoir une meilleure façon d'attaquer votre problème. –