J'ai une liste de mes noms de zone de texte et je veux trouver un contrôle par nom. Comment est-ce possible?
Utilisez Control.ControlCollection.Find .
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
EDIT pour le demandeur:
Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
tbxs[0].Text = "Found!";
}
Vous pouvez utiliser:
f.Controls[name];
Où f
est votre variable de formulaire. Cela vous donne le contrôle avec le nom name
.
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
Si Controls.Find n’est pas trouvé "textBox1" => erreur. Vous devez ajouter du code.
If(tbx != null)
Modifier:
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
If(tbx != null)
tbx.Text = "found!";