Maison > développement back-end > C++ > Comment puis-je parcourir et attribuer efficacement des valeurs à plusieurs zones de texte nommées de manière séquentielle dans une application Windows Forms ?

Comment puis-je parcourir et attribuer efficacement des valeurs à plusieurs zones de texte nommées de manière séquentielle dans une application Windows Forms ?

Barbara Streisand
Libérer: 2025-01-07 13:57:44
original
750 Les gens l'ont consulté

How Can I Efficiently Iterate Through and Assign Values to Multiple Sequentially Named Textboxes in a Windows Forms Application?

Itérer dans plusieurs zones de texte

Dans une application Windows Forms, vous avez rencontré le défi de parcourir 37 zones de texte avec des noms séquentiels, chacune nommé "DateTextBox" suivi d'un suffixe numérique. Votre tâche consiste à attribuer une valeur basée sur le compteur de boucles « i » à ces zones de texte.

Récupération de contrôle récursif

Pour résoudre efficacement ce problème, exploitez une méthode d'extension qui peut récupérer de manière récursive tous les contrôles et sous-contrôles d’un type spécifique. Voici le code correspondant :

public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
{
    var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
    return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
}
Copier après la connexion

Implémentation

Pour utiliser cette méthode, vous pouvez récupérer toutes les zones de texte présentes dans votre formulaire :

var allTextBoxes = this.GetChildControls<TextBox>();
Copier après la connexion

Une fois la liste des zones de texte obtenue, vous pouvez parcourir chacune d'entre elles et attribuer la valeur appropriée en fonction du « i » counter :

foreach (TextBox tb in allTextBoxes)
{
    tb.Text = ...;
}
Copier après la connexion

En mettant en œuvre cette approche, vous pouvez parcourir efficacement les nombreuses zones de texte et attribuer des valeurs de manière dynamique, même si elles sont placées dans des panneaux imbriqués.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal