Rechercher des contrôles par nom dans Windows Forms
La localisation de contrôles spécifiques par nom dans les applications Windows Forms nécessite une approche systématique. Une méthode efficace consiste à utiliser la méthode Control.ControlCollection
dans la classe Find
.
Par exemple, supposons que vous mainteniez une liste de noms de zones de texte et que vous deviez rechercher une zone de texte spécifique par un nom spécifié. Grâce à la méthode Find
, vous pouvez positionner le contrôle efficacement.
Find
est la suivante :
<code class="language-csharp">public Control[] Find(string key, bool searchAllChildren)</code>
Parmi eux :
key
: Une chaîne représentant le nom du contrôle à trouver. searchAllChildren
: Une valeur booléenne indiquant s'il faut inclure les contrôles enfants dans la recherche. En pratique, vous pouvez mettre en œuvre cette technique de la manière suivante :
<code class="language-csharp">TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox; tbx.Text = "找到!";</code>
Ce code recherche dans tous les contrôles du formulaire actuel une zone de texte nommée "textBox1". S'il est trouvé, il convertit le contrôle en TextBox
et définit son texte sur "Trouvé !"
Pour des scénarios plus complexes, vous devrez peut-être parcourir le tableau de contrôle. Par exemple, pour trouver un bouton nommé « btnClickMe » et une case à cocher nommée « chkEnabled » sur un formulaire :
<code class="language-csharp">Control[] controls = this.Controls.Find(new string[] { "btnClickMe", "chkEnabled" }, true);</code>
Le tableau controls
généré contiendra des références aux contrôles positionnés, vous permettant de manipuler leurs propriétés et leur comportement selon vos besoins.
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!