Acceder a un control cuyo nombre esta en una variable

30/12/2003 - 22:34 por Sergio C. | Informe spam
Hola,
Si por ejemplo tengo:

string control="label2";

Como puedo acceder mediante Reflection a las propiedades de mi control
label2 del formulario?


Gracias,
Sergio C.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
31/12/2003 - 10:09 | Informe spam
En lugar de reflection, utiliza un bucle foreach para localizar el control y
hazle un "cast" al tipo adecuado para leer sus propiedades:

foreach (Control c in MiFormulario.Controls)
{
if (c.name == "label2")
{
mivariable = ((label)c).Text;
break;
}
}

"Sergio C." wrote in message
news:%
Mostrar la cita
#2 MCP Daniel Sharp
31/12/2003 - 21:19 | Informe spam
exactamente que es lo que deseas hacer?
quizás no necesites reflection

saludos
daniel #

"Sergio C." wrote in message
news:#
Mostrar la cita
#3 Juan Cristóbal Olivares C.
31/12/2003 - 22:47 | Informe spam
Eso se me había ocurrido responder, pero el nombre del control
"control.Name" no es necesariamente el nombre que tiene su variable. Si usas
esta técnica, debes asegurarte de darle el nombre correcto a cada control
(Supongo que VS.NET usa el control.Name con el mismo nombre de variable).

Atte,
Juan C. Olivares
www.juancri.com

"A.Poblacion" wrote in
message news:%
Mostrar la cita
y
Mostrar la cita
control
Mostrar la cita
#4 Sergio C.
04/01/2004 - 23:10 | Informe spam
Primero gracias a los que habeis respondido.
Vamos a ver, tengo una serie de picturebox con nombres: pictureBox1,
pictureBox2, etc.
Mi intencion es cambiar la imagen del picturebox que me indique una
variable. Por ejemplo, yo puedo tener:

int miVariable;
miVariable=2;

En este momento querria cambiar la imagen del pictureBox2.
Por eso queria saber si yo puedo de alguna forma acceder a sus
propiedades a partir de: "pictureBox" + miVariable.ToString().


Un saludo,
Sergio C.

"MCP Daniel Sharp" escribió en el mensaje
news:
Mostrar la cita
#5 Juan Cristóbal Olivares C.
05/01/2004 - 02:04 | Informe spam
Una forma es la que ya te han dado: recorrer los controles buscando por el
nombre. Form.Controls no acepta índices de texto, así que debes recorrerlos
buscando el control con el nombre que deseas.

Atte,
Juan C. Olivares
www.juancri.com

"Sergio C." wrote in message
news:u%23Gs$%
Mostrar la cita
Ads by Google
Search Busqueda sugerida