J'ai une zone de texte créée dynamiquement (création d'exécution) dont le nom est disponible sous forme de chaîne. Ce que je veux faire est d'accéder à cette zone de texte comme nous le faisons en tant que textes normaux. solutionComment accéder à une zone de texte créée dynamiquement en C# dont le nom est disponible en chaîne?
Comment accéder à une zone de texte créée dynamiquement en C# dont le nom est disponible en chaîne?
Répondre
En plus de la réponse de Iordan, si vous ne savez pas exactement où sur votre formulaire la zone de texte est, alors cette méthode d'extension devrait aider beaucoup. Remarque, Form
hérite de Control
quelque part en bas de la piste, de sorte que vous pouvez l'appeler à partir de cela, ou n'importe quel contrôle sur votre formulaire.
public static class ExtensionMethods
{
public static Control FindControl(this Control root, string name)
{
foreach (Control c in root.Controls)
{
// Check this control
if (c.Name == name) return c;
// Check this controls subcontrols
Control tmp = c.FindControl(name);
if (tmp != null) return tmp;
}
return null;
}
}
Si cette encore est pas assez souple pour vous, alors vous pouvez parcourir System.Windows.Forms.Application.OpenForms
Si vous connaissez le nom de la zone de texte et de ses contrôles parents, vous pouvez faire comme ceci:
TextBox tb = (TextBox)parent.Controls["name"];
Puisque vous semblez avoir un contrôle sur le processus de création, a mis une référence dans un dictionnaire.
TextBox txt = DynamicCreate(name);
map[name] = txt;
this.Controls.Add(txt);
Tout ce que vous avez à faire est de le rechercher dans votre dictionnaire, au lieu de faire défiler tous les contrôles du formulaire.
TextBox txt = map ["nom"];
- 1. Comment ajouter une zone de texte dynamiquement?
- 2. Puis-je convertir une table C# créée dynamiquement en une chaîne html?
- 3. Remplissage de la zone de texte créée dynamiquement avec javascript dans IE
- 4. Chaîne séparée créée en boucle
- 5. invoquez propriétés par nom Dynamiquement de chaîne en utilisant VB.NET
- 6. C# - Ecrire un journal en utilisant une zone de texte
- 7. Le modèle MVP avec l'interface utilisateur créée dynamiquement
- 8. Comment mapper une table créée dynamiquement dans Hibernate?
- 9. Comment créer dynamiquement et positionner une zone de texte en javascript?
- 10. Comment obtenir une référence à un contrôle à partir de son nom de chaîne en C#
- 11. Liaison de format de zone de texte personnalisée en C#
- 12. Insérer du texte après une table créée dynamiquement dans un mot à l'aide de VSTO
- 13. Comment déterminer un Dynamiquement Nom de la méthode en Ruby
- 14. Comment convertir une chaîne en OctetString (C#)?
- 15. Mettre l'accent dans une zone de texte avec un nom de variable en utilisant javascript
- 16. comment afficher une valeur à textbox dont textmode est défini sur 'password' dans C#
- 17. C#: Convertir une chaîne en une référence d'objet
- 18. Comment redimensionner du texte en svg dynamiquement?
- 19. Comment lire une valeur de registre dont le nom est un chemin de fichier utilisant WshShell.RegRead
- 20. Création d'une classe COM .NET IDispatch dont le contenu est disponible uniquement au moment de l'exécution
- 21. Comment convertir une chaîne strings en chaîne en C++?
- 22. Accéder à Imap en C#
- 23. Comment accéder à une minuterie d'une autre classe en C#
- 24. Travailler une zone de texte sous une forme d'une autre classe en C#
- 25. Comment créer une instance à partir d'une chaîne en C#?
- 26. Conversion de la zone de texte XAML en C# avec validation
- 27. Comment mettre en évidence le texte en PDF WinForms C#
- 28. Afficher le texte d'aide en cliquant sur la zone de texte en utilisant jquery
- 29. Comment puis-je accéder à une propriété d'objet avec une variable de chaîne portant le nom de cette propriété?
- 30. Comment accéder aux propriétés d'un contrôle utilisateur en C#