Buscar control por nombre en los controles de Windows Forms

Resuelto krunal shah asked hace 14 años • 3 respuestas

Tengo una lista de los nombres de mis cuadros de texto y quiero encontrar un control por nombre. ¿Como es posible?

krunal shah avatar Oct 10 '10 08:10 krunal shah
Aceptado

Utilice Control.ControlCollection.Find .

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";

EDITAR para el autor de la pregunta:

Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
    tbxs[0].Text = "Found!";
}
bla avatar Oct 10 '2010 01:10 bla

Puedes usar:

f.Controls[name];

¿ Dónde festá tu variable de formulario? Eso te da el control con name name.

CesarGon avatar Oct 10 '2010 01:10 CesarGon
TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";

Si no se encuentra Controls.Find "textBox1" => error. Debes agregar código.

If(tbx != null)

Editar:

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
If(tbx != null)
   tbx.Text = "found!";
Nguyen Ngoc Quyen avatar Mar 30 '2015 04:03 Nguyen Ngoc Quyen