Buscar un control por nombre en un contenedor

Para buscar un control mediante su nombre en un control Contenedor
, como tabControl, podemos usar este procedimiento recursivo para buscar.

 public Control FindControlRecursive(Control container, string name)
        {
            if (container.Name == name) return container;

            foreach (Control ctrl in container.Controls)
            {
                Control foundCtrl = FindControlRecursive(ctrl, name);

                if (foundCtrl != null) return foundCtrl;
            }

            return null;
        }

Fuente: http://stackoverflow.com/questions/1641269/finding-a-control-within-a-tabcontrol

Luego de encontrado podemos utilizarlo, ejemplo si buscamos un checkbox de nombre checkbox1 en un TabControl que tiene un tabPage de nombre tabConf

string  control = "checkbox1";

 Control d = FindControlRecursive(this.tabConf, control);
                if (((CheckBox)d).Checked)
                { }

Saludos
Adalberto Montanía

Comentarios